home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Resources / Online / Term / term.doc < prev    next >
Text File  |  1996-10-20  |  429KB  |  10,321 lines

  1.    `term' 4.7 - A terminal program for Amiga computers
  2.  
  3.    Copyright © 1990-1996 Olaf Barthel
  4.  
  5.    You may make and distribute verbatim copies of this documentation if
  6. the contents are unchanged or the author has agreed to any changes made.
  7.  
  8.    No guarantee of any kind is given that the program described in this
  9. document are 100% reliable. You are using this material on your own
  10. risk.
  11.  
  12.    The program `term' and the data received/sent by it must not be used
  13. for the following purposes:
  14.  
  15.   1. The construction, development, production or testing of weapons or
  16.      weapon systems of any kind.
  17.  
  18.   2. The construction, development, production or use of
  19.      plants/installations which include the processing of
  20.      radioactive/fissionable material.
  21.  
  22.   3. The training of persons to deal with the abovesaid actions.
  23.  
  24.  
  25.    Listen to your conscience.
  26.  
  27. Introduction
  28. ************
  29.  
  30.    `term' is a telecommuncations program designed for use with any
  31. Commodore-Amiga computer running Kickstart 2.04 or higher. Its features
  32. include
  33.  
  34.    * Fast built-in VT220 terminal emulation
  35.  
  36.    * Support for custom terminal emulation modules following the `XEM
  37.      2.0' standard
  38.  
  39.    * Operates in any display environment, supports all screen display
  40.      modes
  41.  
  42.    * Support for file transfer modules following the `XPR' standard
  43.  
  44.    * File and printer capturing functions
  45.  
  46.    * Review buffer support
  47.  
  48.    * Powerful phonebook and dialing functions
  49.  
  50.    * `Amiga User Interface Style Guide' conformant user interface
  51.  
  52.    * Online help (requires AmigaGuide package)
  53.  
  54.    * Built-in `ARexx' interface
  55.  
  56.    * File upload list, which permits selecting the files to be
  57.      transferred before the upload is started.
  58.  
  59.    * Login script learn mode.
  60.  
  61.    * Built-in keyword/response parser which makes it possible to have
  62.      `term' respond to BBS prompts and such with the user name,
  63.      password, etc. without having to program the ARexx interface.
  64.  
  65.    * Interface for external programs to rendezvous with `term', taking
  66.      over serial I/O processing (such as `HydraCom').
  67.  
  68.    Although this program is freely-distributable, it is not entirely
  69. free.  If you like it and use frequently, you are requested to send the
  70. author a donation which you suppose will do as a payment for the
  71. program.  See the chapter registration (see Registration) for details.
  72.  
  73.    Admittedly, `term' is a fairly large program which consumes quite an
  74. amount of memory when running. You need to have at least 2 MBytes of
  75. system memory installed if you wish to run the program. Please note
  76. that this is the bare minimum configuration. It is recommended that you
  77. run `term' on a faster machine, i.e. plain MC68000-driven Amigas will
  78. have trouble running the program.
  79.  
  80. Registration
  81. ************
  82.  
  83.    `term' is made available under the concept of Gift-Ware, which is a
  84. variant of Share-Ware. Share-Ware software authors often release
  85. `crippled' versions of their products, i.e. these programs do not
  86. support the same functionality as the registered versions you get when
  87. sending monetary contributions to the authors. It all comes down to
  88. `pay for the software you are using' in Share-Ware terms. With
  89. Gift-Ware registration is different, you are not required to contribute
  90. money, but a gift will do. With `term' you always get a fully
  91. functional program, there is no `crippled' test release which you can
  92. try for a limited time and then have to pay for in order to receive the
  93. working registered version.
  94.  
  95.    It may seem as if `term' was free, but this is not the case.
  96. Although there is no need to pay the author in order to get a fully
  97. functional version of the program you should consider making a
  98. contribution. You don't need to feel guilty if you cannot or do not
  99. want to give me something in return for the work I have put into
  100. `term'. Show me that it was worth spending so much time listening to
  101. users, updating, rewriting and enhancing this program. Your
  102. contributions will provide the motivation for me to keep developing the
  103. program.
  104.  
  105.    If you don't have any idea yet, here is a list of items I am still
  106. looking for:
  107.  
  108.    * An external memory expansion for the Amiga 1000.
  109.  
  110.    * DigiView for the Amiga 1000.
  111.  
  112.    * CD-ROMs for the CDTV.
  113.  
  114.    * An old Cinemaware game (`Rocket Ranger', `Sinbad and the Throne of
  115.      the Falcon', `SDI', `It came from the Desert II')
  116.  
  117.    * An old Electronic Arts program (`The Bard's Tale II: The Destiny
  118.      Knight', `Instant Music', `Zany Golf', `The Immortal', `Deluxe
  119.      Paint', `Deluxe Print', `Deluxe Music Construction Set', `Deluxe
  120.      Video')
  121.  
  122.    * An old Rainbird or Firebird game (`Starglider I ', `Jewels of
  123.      Darkness', `Black Lamp')
  124.  
  125.    * An old game by Activision (`Tass Times in Tonetown')
  126.  
  127.    * A CD by Miles Davis, Thelonius Monk or Charlie Parker.
  128.  
  129.    * Cash and checks (no credit cards - sorry) are always welcome.
  130.  
  131.    Send your contribution to the following address:
  132.  
  133.                              Olaf Barthel
  134.  
  135.                            Brabeckstrasse 35
  136.  
  137.                            D-30559 Hannover
  138.  
  139.                       Federal Republic of Germany
  140.  
  141.    If you wish to be notified when program updates become available or
  142. wish to order the next update as it becomes available you must include
  143. enough money to cover my expenses, see the chapter entitled orders (see
  144. Orders) for more information.
  145.  
  146. Commercial distribution
  147. ***********************
  148.  
  149.    I don't mind if you make a copy of `term' for a customer who is
  150. looking for a decent terminal program. But if you decide to distribute
  151. the program on a larger scale, such as by including a copy with each
  152. modem you sell, I want to know about it. The reason is this: by
  153. distributing `term' you take a certain responsability; if your customer
  154. has difficulties in installing and configuring the program she/he will
  155. most likely ask you for assistance. I want to make sure that if a
  156. `term' user is in bad need of help there is somebody who will be able
  157. to provide it. If you wish to become a `term' distributor and want your
  158. name displayed in the `About' window, contact me for details.
  159.  
  160.    As a general rule, no profit must be made by distributing `term',
  161. i.e. you may charge fees for copying, disks and for providing a printed
  162. manual but no money must be charged for the software itself. I consider
  163. taking legal actions against anyone who violates this rule. Payments
  164. for using the program should be made to the author, not to the provider.
  165.  
  166. Orders
  167. ******
  168.  
  169.    You can order a copy via standard mail by sending a self-addressed
  170. envelope, including postage and disks (more on this below) to the
  171. following address:
  172.  
  173.                              Olaf Barthel
  174.  
  175.                            Brabeckstrasse 35
  176.  
  177.                            D-30559 Hannover
  178.  
  179.                       Federal Republic of Germany
  180.  
  181.    Either include three 3.5" double-density disks or two 3.5"
  182. high-density disks. The postage must cover the mailing costs, this
  183. should be the equivalent to DM 8,- in your preferred currency for
  184. Europe, and DM 16,- for all other countries. All orders are shipped via
  185. air mail. If you cannot provide the disks and the envelope, add DM 1,50
  186. per double-density disk or DM 3,- per high-density disk and DM 2,- for
  187. a padded envelope. If you send a check to cover my expenses, please
  188. make sure that the fee I have to pay for cashing it (which currently is
  189. DM 3,-) does not `eat up' the mailing costs.
  190.  
  191.    As of this writing I do not distribute printed copies of the
  192. documentation.
  193.  
  194.    Orders must be made by mail only, not by phone or eMail.
  195.  
  196.    Whenever a new release of `term' becomes available I will try to
  197. make it known in the telecommunications networks.
  198.  
  199.    The most current `term' release will be available through ftp from
  200. all Aminet sites, such as `ftp.wustl.edu [128.252.135.4]'.  Look into
  201. the `pub/aminet/comm/term' directory.
  202.  
  203.    `term' is available for download in a number of BBSes. *Careful
  204. please!* For reasons I have always failed to understand certain
  205. individuals take pride in patching program version numbers, copying
  206. archives to disk and compressing them into .DMS files, attach silly
  207. notes to archives or extract single files from archives, just to
  208. recompress and release them later. *Hands off these files!* `term' is
  209. always distributed only in complete LhA-archives, never as a single
  210. program or as a .DMS-file.  In addition to this file lists and
  211. signatures generated using the PGP program provide authenticity. If any
  212. of these signs are missing chances are that you have found a corrupted
  213. copy which most likely was not released by me. My public key can be
  214. found in the chapter PGP key (see PGP key).
  215.  
  216.    I will not distribute `term' via eMail, the program is too large to
  217. be mailed and since I am paying both for incoming and outgoing mail it
  218. would also be too expensive for me.
  219.  
  220.    Unless requested, no update notifications will be sent via standard
  221. mail. I recommend that you include an international reply coupon for
  222. each update notification you wish to receive.
  223.  
  224.    The author reserves the right to discontinue development of the
  225. `term' program.
  226.  
  227. Letters to the author
  228. *********************
  229.  
  230.    It is always nice to receive feedback from users, to hear about
  231. critical comments and enhancement request. If you wish to communicate
  232. with me I suggest that you try electronic mail channels first. As of
  233. this writing there only exists a single Internet address
  234. (`olsen@sourcery.han.de') you can send mail to. I have no Fidonet
  235. accounts or such, in fact I don't even visit any BBSes regularly. If
  236. you need to put a mail through to me and don't have direct Internet
  237. access it is recommended that you use the gateway facilities most nets
  238. offer, your local sysop or postmaster will be able to tell you more. Do
  239. not send mail larger than about 64K bytes, as it may get caught on the
  240. way to me and if it in facts arrives in my mail folder it will have cost
  241. me routing fees since I pay both for my incoming and my outgoing mail.
  242. Please don't expect me to make long-distance calls to your local BBS,
  243. German phone rates are rather steep and I am not that wealthy after all.
  244.  
  245.    If you happen to be registered in a BBS which has no links to any
  246. net or if you don't have any email access at all the only alternative
  247. to dropping by and paying me a visit in person is to use the standard
  248. mail facilities: send a letter, mail a package.  Although such mail
  249. will usually arrive safely and unharmed there still is a problem: I am
  250. slow at responding to `real-world mail'.  If a letter can be answered
  251. with a few lines of text chances are good for a snappy answer, but if
  252. the topic is a little more complex your letter may go into my mail
  253. service stack. To give you an impression how this stack looks like:
  254. it's a large pile of unanswered mail sitting on my desk which keeps
  255. falling over each time I open the window. Such mail will usually get
  256. answered at the end of the semester or when my bad conscience tells me
  257. to.
  258.  
  259.    Be sure to mention it if you want me to send you an update to `term'
  260. or the most recent version of the program and include some money to
  261. cover my expenses. If you want me to help you or to give advice please
  262. keep in mind that even though there is no denying the fact that I have
  263. written `term' I am by no means an expert in telecommuncations matters.
  264. So if you need to know which modem brand to choose or which Bulgarian
  265. BBSes are worth trying I strongly suggest that you ask someone else.
  266.  
  267.    In any case, feel free to make comments and to ask questions.
  268.  
  269. Known bugs & problems
  270. *********************
  271.  
  272.    During beta testing certain software did not work very well with
  273. `term' (nothing serious I would say, but you may have a different
  274. opinion). There are also a few problems that would show up at the last
  275. minute (and at great expense) when it was too late to find a fix. Last
  276. but not least the following list also includes a few `features' for
  277. which I was unable to find a better solution.
  278.  
  279.    * With `MagicMenu' running in the background the checkmark and Amiga
  280.      symbols overwrite some menu entries.
  281.  
  282.      Older versions of `MagicMenu' do not notice that `term' scales
  283.      these symbols to fit the current screen display aspect ratio.
  284.      Recent versions of `MagicMenu' address this problem.
  285.  
  286.    * Not all the buttons in the file transfer window do what their
  287.      labels say.
  288.  
  289.      The XPR library running the file transfer is responsible for
  290.      listening to the commands `term' sends to it when the `Stop entire
  291.      transfer', `Skip current file' and `Stop transfer batch' buttons
  292.      are pressed. Not all libraries will pay attention to these
  293.      commands.  So far only `xprkermit.library' responds to all
  294.      commands. The `xprzmodem.library' included in the `term'
  295.      distribution will ignore the `Stop transfer batch' command. All
  296.      other XPR libraries either treat all buttons the same way, i.e.
  297.      they stop the transfer no matter which button is pressed, or just
  298.      pay attention to the `Stop entire transfer' command.
  299.  
  300. Frequently asked questions
  301. **************************
  302.  
  303.    This section was written in order to answer the most frequently
  304. asked questions concerning `term'. Although I don't suppose that the
  305. users who this section was intended for will really ready it, but it may
  306. nevertheless still be quite useful. Each entry in the following list
  307. explains why a particular feature works this way or the other and
  308. possibly why.
  309.  
  310.   1. While scrolling `term' quietly swallows characters and sometimes
  311.      whole lines.
  312.  
  313.      Usually, `term' cannot process incoming serial data while the
  314.      terminal output processing is taking place. If output processing
  315.      takes too much time you may end up losing incoming data. There are
  316.      several way how to approach this problem. You could reduce the
  317.      number of colours used for screen output, or enable the terminal
  318.      emulation process via the `Enable emulation process' switch in the
  319.      section entitled terminal panel (see Terminal panel).
  320.  
  321.   2. Right after a connection is established the modem hangs up the
  322.      line.
  323.  
  324.      Following your configuration options `term' makes sure that the
  325.      modem is set up correctly prior to making a call. Does the modem
  326.      drop the line right after the `CONNECT' message is received your
  327.      modem or the remote modem may reponsible. Not unheard of are
  328.      modems which due to firmware trouble fail to negotiate correctly
  329.      with the remote modem over the transmission protocol to be used.
  330.      With error correction enabled such modems would drop the line right
  331.      after establishing the connection. Turning off the error
  332.      correction mode would correct this problem. `term' cannot do
  333.      anything about the modem behaviour, it is up to you to find the
  334.      correct setup.
  335.  
  336.   3. Trying to run the modem at higher BPS rates causes the modem to
  337.      ignore commands, it does not even echo characters back.
  338.  
  339.      A number of modems respond only to a fixed set of BPS rates. While
  340.      for example 9,600 bps are fine there is no response at 14,400 bps.
  341.      I suggest that you try all available BPS rates `term' supports
  342.      until one is found to fit. Do not overdo it however, try to keep
  343.      the bit rate below 57,600 bps.
  344.  
  345.   4. During file transfers error #6 is reported over and over again.
  346.  
  347.      Data transfer to and from the serial hardware is a time requires
  348.      quick responses by the handler routines, this is why interrupt
  349.      processing is used for such time-critical jobs. Unfortunately,
  350.      these interrupts cannot always be serviced as fast as possible.
  351.      Read and write accesses to disk may temporarily slow interrupt
  352.      processing down or even disable it in short intervals. If the
  353.      send/receive buffers keep flowing over I suggest that you use a
  354.      smaller file buffer size, so data gets written to disk in smaller
  355.      chunks, making the intervals smaller in which interrupt processing
  356.      may be affected.  You can change the default file buffer size in
  357.      the miscellaneous settings (see Miscellaneous panel). If this
  358.      still does not have the desired effect, turn on the switch `Simple
  359.      file I/O' (see Miscellaneous panel) and change the buffer size of
  360.      the file transfer protocol you are using. Start with a small
  361.      buffer size, such as 4,096 bytes and gradually increase it as long
  362.      as transfers still work correctly.
  363.  
  364.      Users who own a GVP SCSI controller may want to start the program
  365.      `GVPPatch' and/or add the tooltype `BUSHOLD=1' to the icon of the
  366.      `GVPscsicontrol' program.
  367.  
  368.   5. I have saved the phonebook and the configuration files to disk and
  369.      an older `term' release reports that it cannot read them.
  370.  
  371.      `term' stores version information with the configuration files it
  372.      saves. Older `term' releases will refuse to read files created by
  373.      newer releases. Newer releases will almost always read
  374.      configuration files by older `term' releases.
  375.  
  376.   6. I upgraded from an older `term' release, but the program refuses
  377.      to read my configuration and phonebook files.
  378.  
  379.      The phonebook and configuration file format was changed and
  380.      greatly enhanced with the introduction of `term' 3.1. Older files
  381.      need to be converted to the new format, this is what the
  382.      `UpdateConfig' program is for that should be included in the
  383.      `term' distribution. The conversion is easy, just enter
  384.      `UpdateConfig <old file name> <new file name>', the program
  385.      automatically determines whether it is reading a configuration or
  386.      a phonebook file.
  387.  
  388.      *Caution: the conversion program cannot read encrypted phonebook
  389.      files, so they should be saved in unencrypted form first.*
  390.  
  391.   7. In some BBSes ANSI graphics and text output starts at the wrong
  392.      screen position, especially after the screen contents are erased.
  393.  
  394.      The so-called BBS-ANSI terminal command set treats the `clear
  395.      screen command' different from the VT100 specs, i.e. it expects
  396.      the cursor to be reset to the home position. You can enable this
  397.      feature using the `CLS' resets cursor position' switch which can
  398.      be found in the emulation panel (see Emulation panel).
  399.  
  400.   8. When I upgraded from an older program release (1.6 - 2.3) to the
  401.      new `term' release the program would no longer find all its
  402.      configuration files.
  403.  
  404.      In order to annoy you and make things generally irritating some of
  405.      the configuration files were renamed in v2.4, and some were moved
  406.      to different directories. While the files used to be present in
  407.      `ENVARC:term' `term' now looks for them in `TERM:config'.  If
  408.      `term' finds no `TERM:' assignments, it will create one. If no
  409.      `TERM:config' drawer can be found, it will also be created.  The
  410.      configuration files have been changed as follows:
  411.  
  412.     `Preferences.term'
  413.     `term_preferences.iff'
  414.           New name is now `term.prefs'
  415.  
  416.     `Phonebook.term'
  417.     `term_phonebook.iff'
  418.           New name is now `phonebook.prefs'
  419.  
  420.     `Hotkeys.term'
  421.     `term_hotkeys.iff'
  422.           New name is now `hotkeys.prefs'
  423.  
  424.     `Speech.term'
  425.     `term_speech.iff'
  426.           New name is now `speech.prefs'
  427.  
  428.     `Macros.term'
  429.     `term_macros.iff'
  430.     `macros.prefs'
  431.           New name is now `functionkeys.prefs'
  432.  
  433.     `Fast!Macros.term'
  434.     `term_fastmacros.iff'
  435.           New name is now `fastmacros.prefs'
  436.  
  437.      In order to use `term' and `termcap' you need to rename the
  438.      `TERMPATH' variable to `TERMCONFIGPATH'. Look into the `ENVARC:'
  439.      drawer, rename the file and reboot.
  440.  
  441.      *Caution: it is not sufficient just to rename the file names, you
  442.      will also have to take care of the phonebook entries.*
  443.  
  444.   9. I have added several phone numbers to the quick dial menu, but
  445.      `term' does not make them all available.
  446.  
  447.      `term' has room for only up to 50 quick dial entries, any further
  448.      entries will be ignore.
  449.  
  450.  10. When transferring files between computers connected via null-modem
  451.      cables the transfer always aborts immediately complaining that the
  452.      DTR or the carrier signal was lost.
  453.  
  454.      During a null-modem transfer there is no carrier or DTR signals
  455.      present, only modems and such offer such features. Switch the
  456.      handshaking mode to `None' and turn off the `Check carrier' feature
  457.      in the serial panel (see Serial panel).
  458.  
  459.  11. The dialer skips two entries at once when pressing the `Skip'
  460.      button.
  461.  
  462.      Pressing the `Skip' button stops dialing, most modems will respond
  463.      to this with an `OK' message. Some modems will however send `NO
  464.      CARRIER', which `term' interpretes the same way as if `BUSY' had
  465.      been sent. If this is what your modem does, change the `Treat `NO
  466.      CARRIER' as `BUSY'' switch in the Serial panel (see Serial panel).
  467.  
  468.  12. During ZModem file transfers using a fast modem the `CPS' display
  469.      first lists an incredibly high value, then drops sharply, followed
  470.      by lots and lots of transfer errors occuring.
  471.  
  472.      This is effect is mostly seen if the `Handshaking' mode is not set
  473.      to `RTS/CTS' when using a fast modem. The trouble is caused by
  474.      data getting sent while the modem has already stopped accepting
  475.      new data. It flags this states using the RTS/CTS line.
  476.  
  477.  13. None of my ARexx scripts works any more.
  478.  
  479.      In v3.1 the `term' ARexx interface was rewritten from scratch. If
  480.      you wish to retain your old ARexx scripts they will need to be
  481.      rewritten.
  482.  
  483.  14. During file transfers errors show up while data is saved to and
  484.      read from a hard disk drive.
  485.  
  486.      Some hard disk drive controllers temporarily disable interrupt
  487.      processing while accesses take place. In such cases I recommend to
  488.      download and upload from the ram disk or to upgrade the hard disk
  489.      driver.
  490.  
  491.  15. When downloading files they don't end up in the right drawer.
  492.  
  493.      The file transfer protocol usually has it's own opinion on where to
  494.      place files it receives. This behaviour can be changed by editing
  495.      the `term' settings, open the transfer panel (see Transfer panel)
  496.      and turn on the `Override transfer path' switch. Now you can
  497.      select the names of the directories to store files received in
  498.      using the path panel (see Path panel).
  499.  
  500.  16. Sometimes `term' stops processing input and output and just beeps
  501.      when a key is hit.
  502.  
  503.      Look at the status line, if it displays `Holding' `term' has
  504.      received an `xOFF' character. Press `Control + S' to restart.
  505.  
  506.  17. When I moved my configuration files into a different drawer and
  507.      updated my main configuration the phonebook entries started to
  508.      `forget' about their settings files.
  509.  
  510.      `term' uses the environment variable `TERMCONFIGPATH' to locate
  511.      its configuration files. However, the local phonebook entries may
  512.      have different search paths set. Check the paths settings to see
  513.      where they are pointing to.
  514.  
  515.  18. Even though several files are selected for transfer only the very
  516.      first file is sent.
  517.  
  518.      Not every file transfer protocol supports batch transfers.  There
  519.      is no way for `term' to tell whether a protocol supports batch
  520.      transfers, please consult your protocol documentation for more
  521.      information.
  522.  
  523.  19. Even though everything is set up correctly no ARexx scripts are
  524.      executed.
  525.  
  526.      In order for ARexx to work the `RexxMast' program needs to be
  527.      running. Usually, this program is located in the `System' drawer
  528.      of your system partition.  Drag it into the `WBStartup' folder in
  529.      order to use it at system startup time. Also make sure ARexx knows
  530.      where to find your ARexx scripts. Either give a complete path name
  531.      or copy your file into the `REXX:' drawer. Do not rely upon an
  532.      `Assign REXX: <drawer name> add' call in your `S:User-Startup'
  533.      file to work, as of this writing ARexx does not support
  534.      multi-volume assignments.
  535.  
  536.  20. Even though the auto-download feature of the current file transfer
  537.      protocol is enabled no auto transfer takes place while an ARexx
  538.      script is running.
  539.  
  540.      Serial I/O processing only takes place if the main program takes
  541.      care of terminal output.
  542.  
  543.  21. Running `term' twice from shell does not cause two `term'
  544.      processes to be started, instead only the first program is
  545.      reactivated.
  546.  
  547.      By default starting `term' more than once only brings an already
  548.      running `term' process to the front. Use the `NEW' keyword to
  549.      suppress this feature.
  550.  
  551.    (To be continued)
  552.  
  553. Reporting bugs
  554. **************
  555.  
  556.    `term' is a rather complex program which is difficult to maintain,
  557. especially since there is only one person to take care of it: me.
  558. Although one tries to write correct, bug-free software, one cannot
  559. always achieve this goal. Tough, but that's life. It rains when you
  560. leave the umbrella at home. Toast falls buttered-side down. The phone
  561. rings while you are in the bath.
  562.  
  563.    In case you come upon one of those nasty features which even the
  564. author was unable to track down and remove, follow these steps:
  565.  
  566.   1. Keep calm.  Shouting, cursing, crushing disks may help to cool
  567.      your temper, but it will not help anybody (the least yourself!) if
  568.      it results in a sudden cardiac infarction: you will have problems
  569.      in reporting the problem.
  570.  
  571.   2. Read the documentation!  The bug you may want to report may be a
  572.      deliberate feature.
  573.  
  574.   3. Repeat previous step as often as possible.  Yes, really, do so.
  575.      Read the documentation. You will be glad you did.
  576.  
  577.   4. Describe your problem elaborately.  A comment like `things fall
  578.      down when dropped' may have inspired Sir Isaac Newton, but a
  579.      similarly laconic comment `downloads do not work' will most
  580.      certainly fail to give any useful hints how to approach the
  581.      problem. In case you encounter a problem with the built-in
  582.      terminal emulation, try to make a verbatim file capture (i.e. turn
  583.      off the `Capture filter') of the session in which the offending
  584.      codes were used and send it to me.
  585.  
  586.   5. If you wish to report a bug in the ARexx interface include a
  587.      sample ARexx script to produce the bug.
  588.  
  589.   6. Do not forget to write it down!  There is a difference between
  590.      noticing a bug and reporting it (honestly!). Do not suppose that a
  591.      bug will be fixed in a future program revision or rely on anybody
  592.      else to report it: do it yourself. Send a letter to the author,
  593.      preferably per electronic mailing services. The addresses are
  594.      given at the end of this document.
  595.  
  596.   7. State your system and program configuration.  It helps a lot to
  597.      know on which machine the program caused problems. Please include
  598.      information such as memory expansion size, Amiga model (A500+,
  599.      A600, A1200, A3000, A4000, etc.), graphics hardware (ECS, AGA,
  600.      etc.), CPU type (MC68000, MC68020, MC68030, MC68040, etc.).
  601.  
  602.  
  603.    If you can please run the standard Commodore debugging tools
  604. (`Enforcer', `Sushi', `tnt', `MungWall', `SegTracker') in the
  605. background and capture the output. If you include `Enforcer' hit
  606. reports make sure that you have `SegTracker' running in the background
  607. or the `Enforcer' output will be worthless to me.
  608.  
  609.    Please direct reports of problems with the file transfer and
  610. terminal emulation libraries to the respective authors, I am not
  611. responsible for maintaining the support libraries.
  612.  
  613.    Error reports concerning the ARexx interface should include a sample
  614. script to illustrate what is going wrong.
  615.  
  616. Background
  617. **********
  618.  
  619.    This program is a product of anger and despair; I was unable to find
  620. a telecommunications program to suit my personal needs, neither in the
  621. commercial area, nor in the public-domain.
  622.  
  623.    Most programs had a lot of extras but lacked other more important,
  624. perhaps more sensible features (just to take an example: in revision
  625. 2.20c and after four years of constant development `Handshake' still
  626. fails to use the current keymap settings and also strips the high order
  627. bit when receiving text - sorry Eric, that's why I never registered!).
  628.  
  629.    I have hesitated for a long time before starting my first attempt at
  630. writing my very own telecommunications program. When Kickstart 2.x was
  631. about to become widely available I took the opportunity to create
  632. `term' always trying to use the new OS routines wherever possible.
  633. While this started to be quite a difficult task it also was a lot of
  634. fun (imagine Columbus wrecking his fleet four times on his journey to
  635. the West Indies due to unexpected leakages in all vessels and sudden
  636. changes in the ships' sailing manuals - that's how I felt!).
  637.  
  638.    As far as computer-telecommunications are concerned, Germany appears
  639. to be a developing country. This is partly due to the Deutsche
  640. Bundespost, the federal mail/phone company whose telecommunications
  641. monopoly used to be protected by federal law.  Until 1989 you would
  642. risk a heavy penalty if using a non-registered modem or telephone
  643. instead of the Bundespost-supplied hardware. So, if you have any
  644. complaints or miss a few extremely important features in `term', don't
  645. boo and hiss, I am not as long in the telecomm business as you are (I
  646. have yet seen only a single `DEC VT101' from afar!). Tell me what you
  647. need and I will try to add it in the next revision.
  648.  
  649. Future
  650. ******
  651.  
  652.    I spent almost five years of my life programming and updating `term'.
  653. Support for new operating system features was added as soon as Commodore
  654. lifted the veil. `term' grew both in functionality and size, it was
  655. difficult to make plans for the path development would follow. While I
  656. have no specific idea which turn development may take in the future
  657. there are a few things I definitely do not want to add:
  658.  
  659.    * FAX support
  660.  
  661.      There are plenty of good commercial FAX solutions available for
  662.      the Amiga. I lack both the time and the motivation to add FAX
  663.      support to `term'. However, future `term' releases may provide
  664.      interfaces to FAX programs.
  665.  
  666.    * More terminal emulations
  667.  
  668.      `term' offers support for the XEM standard, making it possible to
  669.      easily add external terminal emulation libraries. If you are
  670.      looking for a RIP emulation or a certain Data General terminal
  671.      emulation, try to find an external emulation library. The Aminet
  672.      archives are a good place to start looking for one.
  673.  
  674.    * Script language
  675.  
  676.      `term' supports ARexx, I don't see any reason why I should add
  677.      another script language.
  678.  
  679.    * More file transfer protocols
  680.  
  681.      Except for the ASCII transfer routines `term' offers no built-in
  682.      file transfer protocols. This is what the XPR interface is for,
  683.      external file transfer libraries provide all the file transfer
  684.      services. If you need a file transfer protocol, look for an
  685.      external transfer protocol library.
  686.  
  687.    * Reduced functionality
  688.  
  689.      It was `tough' enough to implement all the features, bits & pieces
  690.      that make up `term'. Honestly, I don't have the heart to cut back
  691.      features.  It would not have been the first attempt to make `term'
  692.      smaller either; there have been numerous attempts to create
  693.      programs to copy the functionality of `term' or to build a
  694.      smaller, scaled down terminal program based upon the `term' source
  695.      code. As far as I know none of these attempts was successful.
  696.  
  697.    It is difficult to judge how the next `term' release will look like.
  698. Also, v4.7 may be the last `term' release, but then again maybe not.
  699. The future of `term' depends on its users, and this includes you.
  700.  
  701. Acknowledgements
  702. ****************
  703.  
  704.    My thanks go to the following people for their invaluable help and
  705. assistance: Andreas Kirchwitz, Christoph Teuber, Christopher Wichura,
  706. Garry Glendown, Germar Morgenthaler, Henning Hucke, Holger Lubitz,
  707. Juergen Otte, Marc-Christian Schroer, Marko Kuechmann, Markus Stoll,
  708. Martin Berndt, Martin Taillefer, Matthias Zepf, Michael Vaeth,
  709. Michael-Wolfgang Hohmann, Oliver Wagner, Peter Fischer, Ralf Thanner,
  710. Ralph Schmidt, Roby Leemann & AUGS, Stefan Becker, Thorsten Seidel,
  711. Till `Dill-Prince' Prinzler, Udo Wolt, Ueli Kaufmann, Veith
  712. Schoergenhummer, Volker Ulle & the Aquila Sysop Team and to all those
  713. who supplied libraries & control sequence tables.
  714.  
  715.    Special thanks go to John Burton of Papua New Guinea who revised and
  716. rewrote certain parts of the program, in particular the terminal
  717. emulation routines, Leo Schwab who discovered means to use interleaved
  718. screen bitmaps in a system-integrated manner and to Nicola Salmoria
  719. whose invaluable assistance helped to reduce the incredible number of
  720. bugs lurking in the source code.
  721.  
  722.    Additional user interface wizardry and advice by Martin Taillefer.
  723. The file transfer section of this manual was rewritten to incorporate
  724. several suggestions made by Mike Safer.
  725.  
  726.    Bill Beogelein produced an astonishingly long list of suggestions,
  727. bug reports and enhancement requests. Some, but still not all, of the
  728. features he suggested went into the program as you see it now. There is
  729. more to follow.
  730.  
  731.    The `Technical Reference for Hayes Modem Users' was supplied by
  732. Maxwell Daymon, thanks much.
  733.  
  734.    The XPR libraries were created by Terence Finney (`bplus'), Marco
  735. Papa & Stephen Walton (`kermit'), Jack Rouse (`quickb'), Marc Boucher
  736. (`xmodem'), Ueli Kaufmann (`ascii', `ymodem' & `vms') and Rick Huebner
  737. & William M. Perkins (`zmodem').
  738.  
  739.    The XPR standard was created by Willy Langeveld, the quicksort
  740. routine (`QuickSort.asm') was written by David Jones.
  741.  
  742.    The current implementation of the external terminal emulation
  743. library interface was developed by Ueli Kaufmann, who also wrote the
  744. external terminal emulation libraries supplied with `term'.  Without
  745. the invaluable help of Martin Berndt the library interface would
  746. probably not be working at all.
  747.  
  748.    Since time did not permit me to translate the full original German
  749. documentation into English, I had asked the Z-Net Amiga community for
  750. help. As a result this document was translated by three different
  751. authors (in order of translation): me, Marc Schroer and Henning Hucke.
  752. Garry Glendown took care of the original termRexx documentation -
  753. thanks to all of you!
  754.  
  755.    The beta tester group, consisting of Göran Åberg, Peter L.
  756. Banville Jr., Stefan Becker, Abdelkader Benbachir, Sebastian Bergmann,
  757. Martin Berndt, Gregory A. Chance, Keith Christopher, Mark Constable,
  758. Steve Corder, Sebastian Delmont, Marcel Döring, Klaus Dürr, Frank
  759. Dürring, Bernd Ernesti, Kenneth Fribert, Kay Gehrke, Jay Grizzard,
  760. Stefan Gybas, Christoph Gülicher, Chris Hanson, Peer Hasselmeyer,
  761. Christian Hechelmann, Holger Heinrich, Rodney Hester, Florian Hinzmann,
  762. Hung-Tung Hsu, Stefan Hudson, Kai Iske, Piotr Kaminski, Jari
  763. Karjalainen, Andreas M. Kirchwitz, Tony Kirkland, Stellan Klebom, Simo
  764. Koivukoski, Jens Langner, Russell John LeBar, Jason C. Leach, Michael
  765. Leun, Holger Lubitz, Daniel M. Makovec, Bob Maple, Julian Matthew,
  766. Chris Mattingly, Matthias Merkel, Dabe Murphy, William Michael Mushkin,
  767. Christopher G. Newby, Dean S. Pemberton, Yves Perrenoud, Olaf Peters,
  768. Sven Reger, Robert Reiswig, Matti Rintala, Alfredo Rojas, Karsten
  769. Rother, Ottmar Röhrig, Matthias Scheler, Markus Schmall, Robert L.
  770. Shady, Leon D. Shaner, Eric W. Sommer, Jason Soukeras, Gary B. Standen,
  771. Keith A. Stewart, Joel E. Swan, Jonathan Tew, Bodo Thevissen, Alexander
  772. Wild, Jürgen Zeschky, and Michael Zielesny, took care of testing the
  773. program - thank you very, very much!
  774.  
  775. Source code
  776. ***********
  777.  
  778.    Since there are still only very few well-documented examples (or
  779. general programming examples) for Kickstart 2.x and Kickstart 3.x I
  780. have decided to include the full `C' source code with the `term'
  781. distribution.
  782.  
  783.    The source code is *not* intended for commercial use. If you are
  784. about to include portions in commercial programs you will need to ask
  785. me for permission. Still you may use parts of the source code for
  786. non-commercial software development without my consent.
  787.  
  788.    I sincerely hope that the release of the full `term' source code
  789. will give Kickstart 2.x a better start (I've overcome quite a lot of
  790. obstacles) so that more programs to use the new OS features will be
  791. available soon.
  792.  
  793. Documentation and online help
  794. *****************************
  795.  
  796.    `term' comes bundled with a number of documentation files, these are:
  797.  
  798. `term.doc'
  799.      Human-readable english program documentation in standard ASCII
  800.      format.
  801.  
  802. `term.guide'
  803.      English program documentation in AmigaGuide format suitable to
  804.      submit to `AmigaGuide' or `MultiView'.
  805.  
  806. `termRexx.doc'
  807.      Human-readable english `term' ARexx interface documentation in
  808.      standard ASCII format. This file describes all the ARexx host
  809.      commands `term' supports and also gives a brief introduction how
  810.      to use them.
  811.  
  812. `termRexx.guide'
  813.      English ARexx interface documentation in AmigaGuide format
  814.      suitable to submit to `AmigaGuide' or `MultiView'.
  815.  
  816. `xprascii.doc ... xprzmodem.doc'
  817.      Human-readable documentation on the XPR transfer libraries
  818.      supplied with `term'.
  819.  
  820.    In addition to the pure ASCII files documentation files are
  821. available in TeX-DVI format and Postscript. As space requirements do
  822. not permit to include them on the distribution disks they are only
  823. available directly from the author.
  824.  
  825. `term.dvi'
  826.      English program documentation in a format suitable for printing
  827.      using a utility to print TeX-DVI-output files, such as supplied
  828.      with the packages AmigaTeX or PasTeX.
  829.  
  830. `term.ps'
  831.      English program documentation in Postscript format. This file was
  832.      generated from `term.dvi' using the `dvips' utility.
  833.  
  834. `termRexx.dvi'
  835.      English ARexx interface documentation in a format suitable to
  836.      printing using a utility to print TeX-DVI-output files, such as
  837.      supplied with the packages AmigaTeX or PasTeX.
  838.  
  839. `termRexx.ps'
  840.      English ARexx interface documentation in Postscript format.  This
  841.      file was generated from `termRexx.dvi' using the `dvips' utility.
  842.  
  843.    In order to take advantage of the online-help feature, AmigaGuide
  844. and the file `term.guide' are required. Copy the file to the drawer the
  845. `term' main program is located in and configure the ``term' help text
  846. file' settings (see Path panel) to point to `PROGDIR:term.guide'. Once
  847. this has been done, pressing the `Help' key in any window to support
  848. online help will bring up a help window.
  849.  
  850. Foreign language support
  851. ************************
  852.  
  853.    `term' supports foreign language text catalog tables as introduced
  854. with Workbench 2.1 `locale.library'. As of this writing there are
  855. Danish, Dutch, French, German, Italian, Spanish and Swedish
  856. translations of the program text available. If you wish to create your
  857. own national translation table you should consult the program source
  858. code file `term-blank.ct' which is a blank translation table. Before
  859. actually starting to fill in the translation table you should contact
  860. me first; there may already be someone preparing a translation.
  861. However, you should keep in mind that once you have created a foreign
  862. language translation of the program text I may ask you to update your
  863. translation for a future program release.
  864.  
  865.    Once you are finished with the translation table, send it to me on
  866. disk or via eMail, *don't compile the catalog on your own!*.
  867.  
  868. Workbench and Shell
  869. *******************
  870.  
  871.    The program can be started both from Workbench and from Shell.
  872. Kickstart 2.04 (revision 37.175) and Workbench 2.04 (revision 37.67)
  873. are the minimum required to run `term'.
  874.  
  875.    The `behaviour' of `term' can be changed by adding tool type entries
  876. to the corresponding Workbench icon or by specifying additional command
  877. line parameters when running the program from the Shell. Supported
  878. keywords are:
  879.  
  880. `WINDOW'
  881.      The console window specifier to be used when opening terminal
  882.      output windows (this will override the default settings). The
  883.      default is `CON:0/11//100/term Output Window/CLOSE/SCREEN %s'. The
  884.      `%s' will be replaced by the name of the public screen `term' uses.
  885.  
  886. `PUBSCREEN'
  887.      The name of a public screen to open the `term' window on. In case
  888.      the public screen happens to be unavailable, `term' will fall back
  889.      to the Workbench screen. Note that `term' assumes that the main
  890.      window is to be opened on a public screen rather than on a custom
  891.      screen if this option is in effect, regardless how the default
  892.      settings may be configured.
  893.  
  894. `STARTUP'
  895.      The name of an ARexx script file to be run on program startup.
  896.  
  897. `PORTNAME'
  898.      The ARexx host port name `term' is to use instead of the built-in
  899.      default name. The port name will be translated to upper case
  900.      characters as required by the ARexx host port naming convention.
  901.      The resulting name must be unique or `term' will fall back to its
  902.      built-in default name.
  903.  
  904. `SETTINGS'
  905.      This keyword determines where to read the default configuration
  906.      file from. In order to read it from `Work:term/config', one would
  907.      use `term Settings Work:term/config' from Shell or add the tooltype
  908.      entry `SETTINGS=Work:term/config' from Workbench. This argument
  909.      does not necessarily need give the name of a path to search, but
  910.      can also specify the name of the configuration file to be used.
  911.  
  912. `UNIT'
  913.      Similar to the `DEVICE' keyword the `UNIT' keywords affects the
  914.      serial driver settings. It determines which serial driver unit is
  915.      to be used instead of the one specified in the default
  916.      configuration file. In order to use unit number 4 one would use
  917.      `term Unit 4' from Shell or add the tooltype entry `UNIT=4' from
  918.      Workbench.
  919.  
  920. `DEVICE'
  921.      In order to use a different serial device driver than the one
  922.      specified in the default configuration file, use this keyword. To
  923.      use `duart.device' one would use `term Device duart.device' from
  924.      Shell or add the tooltype entry `DEVICE=duart.device' from
  925.      Workbench.
  926.  
  927. `QUIET'
  928.      If this parameter is present, the program will not start opening a
  929.      display but rather put an icon on the Workbench backdrop, waiting
  930.      to be invoked. A double-click will bring it to life. This
  931.      parameter will be ignored in case the `STARTUP'-Parameter is used
  932.      along with it.
  933.  
  934. `NEW (Shell only)'
  935.      Usually, running `term' twice will cause the screen of the other
  936.      program to be popped to the front instead of creating a second
  937.      `term' process. To avoid this effect, enter `NEW' as a calling
  938.      parameter. If called from Workbench, each program will run as a
  939.      separate process.
  940.  
  941. `BEHIND'
  942.      This option will cause `term' to open its screen behind all other
  943.      screens and not to activate its window.
  944.  
  945. `PHONEBOOK'
  946.      Similiar to the `SETTINGS' option you can specify the name of a
  947.      phonebook file to load upon startup.
  948.  
  949. `AUTODIAL'
  950. `AUTOEXIT'
  951.      These two options are used in conjunction with the Auto-Dial and
  952.      Auto-Exit features. Even if the phonebook does not have these
  953.      options enabled, you can nevertheless tell `term' to enable them
  954.      as soon as the phonebook file is loaded. It will then go through
  955.      the routine setups for auto-dialing. Fore more information on these
  956.      features see Phonebook.
  957.  
  958. `WINDOWTITLE'
  959.      If you run multiple copies of `term' at the same time, for example
  960.      to control several different serial ports, you might want to see an
  961.      indication which `term' is controlling what port. You can do it by
  962.      using the `WINDOWTITLE' option to tell `term' to change the main
  963.      window title.
  964.  
  965. User interface notes
  966. ********************
  967.  
  968.    To operate a gadget, press the key corresponding to the letter
  969. highlighted in the gadget label. Suppose a slider is labeled `BPS' with
  970. the letter `r' of the word `rate' underlined; in order to increase the
  971. slider value one had to hit the key labeled `R', to decrease the value
  972. one is to hold down either `Shift' key while pressing the key `R'.
  973.  
  974.    With some requesters and windows text gadgets will be
  975. auto-activated. Pressing the `Return' key will cycle through all the
  976. available text gadgets, holding down either `Shift' key will break the
  977. cycle.
  978.  
  979.    Windows in which only a single scrolling list is present cursor keys
  980. may be used to scroll the contents.
  981.  
  982.    The `Return' and `Escape' keys are respected by most windows. A
  983. button surrounded by a recessed box represents the default choice in a
  984. requester, pressing the `Return' key will select it. The `Escape' key
  985. always selects the `stop' or `cancel' button usually to be found in the
  986. lower right corner of a window. Most windows to feature a close gadget
  987. in the upper left corner can be closed by pressing the `Escape' key.
  988.  
  989.    In control panels featuring a `Tab' button, pressing the `Tab' key
  990. will flip the pages.
  991.  
  992.    Numeric entry fields accept input several notations, namely
  993. hexadecimal (`$..' and `0x..'), octal (`&..') and binary (`%..').
  994.  
  995.    The user interface support library tries to make all control panel
  996. windows fit on the screen. If the first attempt fails a different font
  997. is used. If this did not help either a new screen will be opened for
  998. the window. This screen will usually be larger than the visible region.
  999. Move the mouse towards the borders of the screen to reveal more of it.
  1000.  
  1001. Screen
  1002. ******
  1003.  
  1004.    At the bottom of the `term' screen or window a small display shows a
  1005. few basic parameters. These are:
  1006.  
  1007. `Status'
  1008.      The current program operating status. This includes `Ready',
  1009.      `Holding' (`Control + S' was pressed), `Dialing' (the dialing
  1010.      function is at work), `Upload' (data is being sent), `Download'
  1011.      (data is being received), `Breaking' (a break signal is
  1012.      transmitted across the serial line), `Hanging up' (connection is
  1013.      being cancelled), `Recording' (a script is being recorded),
  1014.      `Rec.line' (a line of text is being recorded) and `ARexx' (an
  1015.      ARexx script is currently running, which tells `term' to wait).
  1016.  
  1017. `Buffer'
  1018.      Indicates whether the text buffer is currently recording incoming
  1019.      text or whether the current text buffer contents are frozen.
  1020.  
  1021. `Protocol'
  1022.      The currently selected data transfer protocol.
  1023.  
  1024. `Emulation'
  1025.      The currently active terminal emulation mode.
  1026.  
  1027. `Rate'
  1028.      The data transfer rate in bits per second.
  1029.  
  1030. `Params.'
  1031.      The current serial parameters (Data bits-Parity-Stop bits).
  1032.  
  1033. `Time'
  1034.      The current time of day.
  1035.  
  1036. `Online'
  1037.      The time elapsed after a connection was successfully established.
  1038.      This counter will be stopped as soon as the connection is
  1039.      cancelled (e.g. by hanging up) and is reset to 00:00:00 as soon as
  1040.      a new connection is made.
  1041.  
  1042.      This display will show the online time, the online cost or both
  1043.      (toggled every five seconds) depending on your current settings.
  1044.  
  1045.    Unless configured different, the screen itself is opened as a public
  1046. screen (called `TERM') which is available to other programs for their
  1047. purposes. If more than one `term' process is running, the public screen
  1048. name will change according to the number of the program (i.e. the first
  1049. `term' to be started will call the scren `TERM', the second one will
  1050. call it `TERM.1', the third one `TERM.2', etc.). The screen title bar
  1051. will also display the name of the public screen.
  1052.  
  1053. Menus
  1054. *****
  1055.  
  1056.    For each requester and input window there exists a set of menu items
  1057. to execute the commands associated with the buttons, dials and gauges in
  1058. the requester/window. Press the right mouse button to have a look at
  1059. the commands and their shortcuts.
  1060.  
  1061.    The following text is to describe the menu items available in the
  1062. `term' main menu.
  1063.  
  1064. Project
  1065. =======
  1066.  
  1067. `Save screen as Picture/Text'
  1068.      This menu serves to save the current terminal window contents
  1069.      either as plain ASCII text file or as a picture file.
  1070.  
  1071. `Print Screen (as text)/Clipboard'
  1072.      These menu entries are to output plain text on the printer. You
  1073.      can either print the contents of the main screen or the contents
  1074.      of the clipboard.
  1075.  
  1076. `Print Screen (as graphics)'
  1077.      Select this menu entry to make a hardcopy of the screen contents.
  1078.      Printing will respect screen colours and follow the on-screen bit
  1079.      image.
  1080.  
  1081. `Capture to File/Raw file/Printer'
  1082.      Selecting one of these menu entries will toggle capturing incoming
  1083.      text to the printer and/or a file on disk. The `Raw file' option
  1084.      will capture incoming text without applying any filtering or
  1085.      modifications.  You can get the same effect by turning off the
  1086.      `Capture filter' in the capture settings (see Capture panel) and
  1087.      selecting the `Capture to file' option, but probably not as
  1088.      quickly.
  1089.  
  1090. `Iconify'
  1091.      Closes all screens and windows `term' has currently open, if this
  1092.      feature is enabled, resets and releases the serial driver and puts
  1093.      an icon into the Workbench window.  Double-clicking this icon will
  1094.      cause `term' to wake up and to return the state is was in before
  1095.      iconification took place.
  1096.  
  1097.      *While `term' is iconified, most incoming ARexx-commands will be
  1098.      queued and the corresponding ARexx scripts will appear to `hang'.
  1099.      In order to reactivate the program either double-click on the
  1100.      program icon or send the ARexx command `ACTIVATE'. As soon as
  1101.      `term' is `awake' again pending commands will be processed again*
  1102.  
  1103. `About'
  1104.      Shows some information on the program.
  1105.  
  1106. `Quit'
  1107.      Terminates the program, hold down a `Shift' key to quit
  1108.      immediately, otherwise you will be prompted to confirm your
  1109.      decision.
  1110.  
  1111. Edit
  1112. ====
  1113.  
  1114. `Copy'
  1115.      In order to transfer any currently marked screen text to the
  1116.      clipboard buffer, select this menu item. Text can be marked by
  1117.      double-clicking the select button while the mouse is over a word
  1118.      or by clicking the select button and dragging the mouse. Holding
  1119.      down either shift key will append the selected text to the current
  1120.      clipboard contents.  In any other case the new text will replace
  1121.      the previous contents.
  1122.  
  1123. `Paste'
  1124.      Pastes the contents of the clipboard at the current cursor position
  1125.      provided that the clipboard contains text data. Hold down either
  1126.      `Shift' key to have `term' include the `Paste prefix' and the
  1127.      `Paste suffix' (see Clipboard panel) along with the clipboard
  1128.      contents.
  1129.  
  1130. `Clear'
  1131.      Any currently marked text will be released as soon as any rendering
  1132.      operations are to be executed in the main window. To release marked
  1133.      text manually, select this menu item.
  1134.  
  1135. `Select all'
  1136.      Marks the contents of the entire window.
  1137.  
  1138. Cmds. (= Commands)
  1139. ==================
  1140.  
  1141. `Execute AmigaDOS command'
  1142.      Enter the command you want to execute and its command line
  1143.      arguments here.
  1144.  
  1145. `Execute ARexx command'
  1146.      This function calls the ARexx server to execute a script file. If
  1147.      the first input character is a ` or " the input will be considered
  1148.      as a small program in a single line. Note that this function will
  1149.      not be available if the ARexx server isn't running.
  1150.  
  1151.      The ARexx command set supported by `term' is described in the
  1152.      `term' ARexx interface documentation.
  1153.  
  1154. `Record script'
  1155.      Select this menu item to start/stop script recording. More on
  1156.      script recording can be found under script recording (see Script
  1157.      recording).
  1158.  
  1159. `Record line'
  1160.      When in script recording mode this menu item will cause `term' to
  1161.      temporarily switch into full line recording mode, rather than
  1162.      recording only single keystrokes. Pressing the `shift+return' keys
  1163.      has the same effect as calling the `Record line' menu item. More
  1164.      on the topic of script recording can be found under script
  1165.      recording (see Script recording).
  1166.  
  1167. `Edit traps...'
  1168.      This brings up the trap list editor (see Trap panel.  The list
  1169.      includes control sequences `term' is to look for in the incoming
  1170.      data stream. When a sequence is found the corresponding command
  1171.      sequence (see Command sequences) is executed.
  1172.  
  1173.      The window contains the usual list management tools (edit, add,
  1174.      remove, clear and move). Please note that the order of processing
  1175.      occurs top-down, i.e. of two entries with the same control
  1176.      sequence data only the top-most will be evaluated.
  1177.  
  1178.      The buttons `Load' and `Save' will let you restore and save the
  1179.      current trap list. The `Load' button appends the contents of a
  1180.      trap list file to the current trap list, so take care. On startup
  1181.      `term' looks for a configuration file named `trap.prefs' and tries
  1182.      to load it. Thus, there can be only one global trap list. It is up
  1183.      to ARexx to load and modify the contents of the trap list,
  1184.      although this editor window provides a graphical interface to the
  1185.      list. Please note that the more list entries `term' has to filter
  1186.      through the input data stream the slower input processing may
  1187.      become, affecting mostly terminal output.
  1188.  
  1189. `Disable traps'
  1190.      This menu item provides a shortcut to stop trap list processing.
  1191.      On startup `term' will enable trap list processing if the trap
  1192.      list loaded from disk is non-empty.
  1193.  
  1194. Phone
  1195. =====
  1196.  
  1197. `Phonebook'
  1198.      The phonebook is one of the most powerful and complex functions of
  1199.      `term' and will be described later in this document (see
  1200.      Phonebook).
  1201.  
  1202. `Redial'
  1203.      Dialing list entries which the dialing routine was unable to
  1204.      establish a connection to are once again passed to the dialer.
  1205.  
  1206. `Dial phone number'
  1207.      To dial a single phone number select this menu item. The phone
  1208.      number entered will be passed to the dialing routine.
  1209.  
  1210. `Send break'
  1211.      Sends a `break' signal across the serial line.
  1212.  
  1213. `Hang up'
  1214.      Tells the modem to hang up the serial line.
  1215.  
  1216. `Wait'
  1217.      Will cause `term' to emit the character sequence `<Blank
  1218.      space><Backspace>' every second in order to fool the remote into
  1219.      believing that terminal input is currently taking place.
  1220.  
  1221. `Flush receive buffer'
  1222.      Tells the serial driver to drop its input buffer contents and
  1223.      resets the state of the internal serial buffers.
  1224.  
  1225. `Release serial device'
  1226.      The serial driver is released for other programs to use it. A
  1227.      requester will appear which allows you to reopen the serial driver
  1228.      or to quit `term'.
  1229.  
  1230.      If the serial driver has been released by the ARexx interface and
  1231.      has not been reopened yet, this menu item will do it.
  1232.  
  1233.    If you are still online, the `Redial' and `Dial' menu entries will be
  1234. disabled. In order to make another call, hang up the line first.
  1235.  
  1236. Transf. (= Transfer)
  1237. ====================
  1238.  
  1239.    This menu provides access to file transfer functions. For more
  1240. information on this topic, see Transfer panel, XPR options sample,
  1241. Transfer progress panel, ASCII-transfer panel and ASCII-transfer
  1242. settings.
  1243.  
  1244. `Upload ASCII file(s)'
  1245.      This is a pure ASCII-file upload. It was added to allow poor BBS
  1246.      programs to receive text files.
  1247.  
  1248. `Download ASCII file(s)'
  1249.      This is a pure ASCII-file download. Refer to `Upload ASCII
  1250.      file(s)' for features/options of this mode.
  1251.  
  1252. `Upload text file(s)'
  1253.      Sends a file/files to the remote receiver using the current
  1254.      transfer protocol. If possible this command will `ask' the
  1255.      transfer protocol to transmit the file(s) in text mode (whatever
  1256.      that means) which may include CR/LF substitution and other
  1257.      gimmicks. Consult the library documentation to find out if your
  1258.      favourite transfer library supports text mode.
  1259.  
  1260. `Download text file(s)'
  1261.      Request a file/files using the current transfer protocol. Refer to
  1262.      `Upload text file(s)' for features/options of this mode.
  1263.  
  1264. `Edit & upload text file'
  1265.      Invokes the currently selected (see Path panel) text editor on a
  1266.      file to be selected using a file requester. `term' pays attention
  1267.      to the `EDITOR' environment variable and will use the program
  1268.      indicated by it.
  1269.  
  1270.      `term' will block and wait until the editor has returned.
  1271.  
  1272.      After the editor has returned, the user will be asked whether the
  1273.      file edited is to be transferred as plain ASCII or via text upload.
  1274.  
  1275. `Upload binary file(s)'
  1276.      Send a file/files to the remote receiver using the current transfer
  1277.      protocol. True batch upload is supported both through wildcard
  1278.      expressions (`#?.txt' will send all files whose names end with
  1279.      `.txt') or through multiple selection. Refer to the documentation
  1280.      of your favourite transfer library to find out if batch file
  1281.      transfer is supported.
  1282.  
  1283. `Download binary file(s)'
  1284.      Receive a file/files using the current transfer protocol. If the
  1285.      protocol does not support batch download you are required to enter
  1286.      the name of the file to be received. Files which remain empty
  1287.      after the transfer are deleted automatically.
  1288.  
  1289.    The transfer routines open an information window in which a number of
  1290. transfer parameters are displayed (see Transfer progress panel).
  1291.  
  1292. Buffer
  1293. ======
  1294.  
  1295. `Clear buffer'
  1296.      Clears the contents of the text buffer (see Text buffer). Any text
  1297.      will be discarded and *cannot* be recovered. Capture files are not
  1298.      affected by this command.
  1299.  
  1300. `Display buffer'
  1301.      Opens the text buffer screen (see Text buffer).
  1302.  
  1303. `Close buffer'
  1304.      Closes the text buffer screen but does not free the contents.
  1305.  
  1306. `Freeze buffer'
  1307.      This menu entry will, if enabled, stop the text buffer from
  1308.      filling up with new text.
  1309.  
  1310. `Load buffer'
  1311.      Loads the contents of the text buffer from a file. If there are
  1312.      still text lines in the text buffer a requester will appear giving
  1313.      you the choice to discard the old data, append the new data, or to
  1314.      cancel the action.
  1315.  
  1316. `Save buffer as'
  1317.      Saves the contents of the text buffer to a file. You will be
  1318.      notified if the file to save to already exists (you may discard
  1319.      the old file, append the new data or cancel the action).
  1320.  
  1321. Terminal
  1322. ========
  1323.  
  1324. `Clear screen'
  1325.      Clears the whole `term' screen and moves the cursor to the top
  1326.      left home position.
  1327.  
  1328. `Reset font'
  1329.      Will change the screen font back to the default screen font.
  1330.  
  1331. `Reset styles'
  1332.      Resets all character style attributes (bold, blinking, inverse
  1333.      video, underlined, etc.) and sets the text colour to the default
  1334.      pen.
  1335.  
  1336. `Reset terminal'
  1337.      Use this menu item to reset the state of the entire terminal
  1338.      emulation.
  1339.  
  1340. Settings
  1341. ========
  1342.  
  1343.    This is where you configure the standard preferences settings. If
  1344. you select `New' in the phonebook window (see Phonebook) these standard
  1345. settings will be used.  Put in your most commonly used settings here.
  1346. Change individual entries in the phonebook as needed.
  1347.  
  1348. `Serial'
  1349.      See Serial panel
  1350.  
  1351. `Modem'
  1352.      See Modem panel.
  1353.  
  1354. `Screen'
  1355.      See Screen panel.
  1356.  
  1357. `Terminal'
  1358.      See Terminal panel.
  1359.  
  1360. `Emulation'
  1361.      See Emulation panel.
  1362.  
  1363. `Clipboard'
  1364.      See Clipboard panel.
  1365.  
  1366. `Capture'
  1367.      See Capture panel.
  1368.  
  1369. `Commands'
  1370.      See Command panel.
  1371.  
  1372. `Miscellaneous'
  1373.      See Miscellaneous panel.
  1374.  
  1375. `Paths'
  1376.      See Path panel.
  1377.  
  1378. `Transfer protocols'
  1379.      See Transfer panel.
  1380.  
  1381. `Default transfer protocol'
  1382.      If this item is selected, a transfer settings editor is displayed.
  1383.      The `Default transfer library' in the transfer panel (see Transfer
  1384.      panel) determines the contents of this control panel.  If the
  1385.      selected default transfer library does not provide these
  1386.      facilities, a simple text requester will prompt for input. Consult
  1387.      the documentation of the chosen transfer protocol for legal
  1388.      options and the values to which they can be set.
  1389.  
  1390.      As an example, see XPR options sample.
  1391.  
  1392. `Translation tables'
  1393.      See Translation panel.
  1394.  
  1395. `Function keys'
  1396.      See Function key panel.
  1397.  
  1398. `Fast! macros'
  1399.      See Fast macro panel.
  1400.  
  1401. `Hotkeys'
  1402.      See Hotkey panel.
  1403.  
  1404. `Speech'
  1405.      See Speech panel.
  1406.  
  1407. `Sound'
  1408.      See Sound panel.
  1409.  
  1410. `Area codes'
  1411.      See Area code panel.
  1412.  
  1413. Windows
  1414. =======
  1415.  
  1416. `Status'
  1417.      This function opens a window to display program status information.
  1418.      A click on the `Update' button will cause the information to be
  1419.      brought up to date:
  1420.  
  1421.     `Session start'
  1422.           When was the program started?
  1423.  
  1424.     `Bytes received'
  1425.           The number of bytes received.
  1426.  
  1427.     `Bytes sent'
  1428.           The number of bytes sent.
  1429.  
  1430.     `Connection message'
  1431.           The text returned by the modem when a connection was made
  1432.           immediately following the `CONNECT' message.
  1433.  
  1434.     `Name'
  1435.           If available, the name of the system the modem is currently
  1436.           connected to.
  1437.  
  1438.     `Phone number'
  1439.           If available, the phone number of the system the modem is
  1440.           currently connected to.
  1441.  
  1442.     `Comment'
  1443.           If available, the phonebook comment corresponding to the
  1444.           system the modem is currently connected to.
  1445.  
  1446.     `User name'
  1447.           If available, the user name, as available through the
  1448.           phonebook, corresponding to the system the modem is currently
  1449.           connected to.
  1450.  
  1451.     `Screen size'
  1452.           The size of the terminal output window in characters (columns
  1453.           and rows).
  1454.  
  1455.     `ARexx port name'
  1456.           The name of the ARexx host `term' is currently using.
  1457.  
  1458.     `Buffer size (bytes)'
  1459.           The size of the text buffer (see Text buffer).
  1460.  
  1461.     `Free memory (bytes)'
  1462.           The amount of free system memory.
  1463.  
  1464. `Review'
  1465.      A review window is opened which basically displays the same text
  1466.      as the text buffer screen. You can scroll through the text
  1467.      displayed both by mouse (see the right hand side scroller) and by
  1468.      cursor keys.
  1469.  
  1470. `Packet'
  1471.      Opens an input window in which a single line of characters to be
  1472.      transferred across the serial line can be entered. More on this
  1473.      feature is explained below (see Packet window).
  1474.  
  1475. `Chat line'
  1476.      This adds a one-line text entry field just above the status line
  1477.      (or the bottom of the main window, whatever is available at the
  1478.      moment).  For more information, see Chat line.
  1479.  
  1480. `Fast! macros'
  1481.      Opens or closes the so-called fast macro panel (see Fast macro
  1482.      panel).  For more information on fast! macros see Fast! macros.
  1483.  
  1484. `Single character entry'
  1485.      This may come in handy for serial debugging and those rare cases
  1486.      when there is no keyboard connected to the Amiga. On a 16 by 16
  1487.      raster layout you will find every single character of the
  1488.      ISO-8859-1 set the Amiga uses. Click on any one to have it
  1489.      transmitted across the serial line.  Hold down the left mouse
  1490.      button and drag the mouse across the matrix to see the character
  1491.      code displayed in the window title bar in various notations. Note
  1492.      that with small fonts the binary notation may be cut off.
  1493.  
  1494. `Upload queue'
  1495.      This will open a window featuring a list of files to upload. You
  1496.      can drag icons of files to upload on this window, their names will
  1497.      appear in the list. Dragging icons on the icon labeled `term
  1498.      Upload queue' has the same effect. Double-clicking this icon will
  1499.      open the upload list window on the Workbench screen.  In order to
  1500.      start an upload either press the `Binary upload' or `Text upload'
  1501.      button.
  1502.  
  1503.      You can replace the icon `term' uses by copying the icon of your
  1504.      choice into the drawer `term' resides in and naming it
  1505.      `term_DropIcon'.
  1506.  
  1507.      For more information on the Upload queue see File upload panel.
  1508.  
  1509. The quick dialing menu
  1510. ======================
  1511.  
  1512.    Note: this menu is available only in case any phonebook entries have
  1513. the special `Quick menu' switch set.
  1514.  
  1515.    Selecting any item of this menu will cause the corresponding phone
  1516. number to be dialled. Extended selection and drag-selection are also
  1517. available when picking services to dial. Please note that you can
  1518. `check in' single items by selecting them, but you cannot remove any
  1519. items from the dial list.
  1520.  
  1521.    Phonebook entries in groups appear in submenus, unless there is only
  1522. one group all entries for the quick dialing menu reside in. In this
  1523. case, there will be no single submenu, all entries will appear in one
  1524. regular menu.
  1525.  
  1526. Control panels
  1527. **************
  1528.  
  1529.    This where all the control panels employed by `term' are explained:
  1530.  
  1531. Serial panel
  1532. ============
  1533.  
  1534.    This is where the serial parameters may be changed.
  1535.  
  1536. `BPS'
  1537.      The transfer speed in bits per second at which `term' communicates
  1538.      with the serial hardware. The minimum value allowed is 110 BPS.
  1539.      You may enter any value you like but keep in mind that not all
  1540.      modems will respond to all possible settings.  Clicking on the
  1541.      arrows pointing to the left and to the right will cycle through a
  1542.      set of predefined rates.
  1543.  
  1544.      As of this writing the standard Amiga serial hardware is capable
  1545.      of running BPS rates from 110 up to and including 1,000,000 bits
  1546.      per second. These are the basic hardware limits, but in practice
  1547.      reliable transfer speeds are far lower at 57,600 BPS and below.
  1548.      Custom serial hardware may support higher transfer rates. Do not
  1549.      underestimate the overhead caused by the terminal program &
  1550.      interrupt processing and the effects of connecting cable lengths.
  1551.  
  1552.      Most modems will not recognize a sudden change in the BPS rate.
  1553.      Type `AT<RETURN>' to make the change known.
  1554.  
  1555.      With data transfer speed greater than 2,400 BPS most modems require
  1556.      flow control to be used in order to guarantee reliable data
  1557.      transfer.  In such cases it is recommended to set the `Protocol'
  1558.      switch to `RTS/CTS'. If you fail to do so you may lose data.
  1559.  
  1560. `Bits/char'
  1561.      Number of bits per transferred character (7 or 8). As of this
  1562.      writing the Amiga serial hardware does not support all possible
  1563.      bits/char, parity and stop bits combinations.
  1564.  
  1565. `Parity'
  1566.      Serial parity (none, odd, even, mark or space). As of this writing
  1567.      the Amiga serial hardware does not support all possible bits/char,
  1568.      parity and stop bits combinations.
  1569.  
  1570. `Stop bits'
  1571.      Number of stop bits (1 or 2). As of this writing the Amiga serial
  1572.      hardware does not support all possible bits/char, parity and stop
  1573.      bits combinations.
  1574.  
  1575. `Handshaking'
  1576.      Serial handshaking mode (RTS/CTS 7 wire hardware handshaking,
  1577.      RTS/CTS with DSR signal check, none).  The `RTS/CTS (DSR)' mode
  1578.      will make `term' check the `data set ready' signal first before
  1579.      turning on RTS/CTS handshaking. If no signal is present `term'
  1580.      will turn off RTS/CTS 7 wire hardware handshaking.
  1581.  
  1582.      Some modems will appear to `lock up' when the RTS/CTS handshaking
  1583.      protocol is enabled. This may either be due to a faulty connecting
  1584.      cable (not all cables properly connect the pins required for 7
  1585.      wire hardware handshaking) or due to configuration problems. Some
  1586.      modems factory settings are incompatible with the way the Amiga
  1587.      handles hardware handshaking. In such a case it is very likely that
  1588.      the modem does not set the so-called DSR signal by default. To
  1589.      change this, first turn off RTS/CTS handshaking, then type the
  1590.      command `AT&S0' and press return, now turn RTS/CTS handshaking on
  1591.      again.
  1592.  
  1593.      *The RTS/CTS handshaking protocol must be used for reliable modem
  1594.      connections using transmission speeds of 4,800 BPS and above.*
  1595.  
  1596. `Duplex'
  1597.      Determines whether characters are echoed back to the terminal
  1598.      screen or not (full, half = local echo).
  1599.  
  1600. `Buffer size'
  1601.      The number to be specified here allows to set the serial driver I/O
  1602.      buffer size. *Every number you enter here will result in `term'
  1603.      and the serial driver allocating twice the buffer size (this is
  1604.      only a word of warning for those among us who prefer buffer sizes
  1605.      of 256K and up).*
  1606.  
  1607. `Break length'
  1608.      Length of the break signal given in microseconds.
  1609.  
  1610. `High-speed mode'
  1611.      Activates a special mode of the serial driver which is to skip a
  1612.      couple of internal parity and stop bits checks resulting in higher
  1613.      data throughput rate. *If this switch is turned on, the serial
  1614.      parameters will be reset to 8 bits per character, no parity and 1
  1615.      stop bit.* Do not expect dramatic speed increases.
  1616.  
  1617. `Strip bit 8'
  1618.      If this switch is effect each character received or transmitted by
  1619.      `term' will have its high-order bit cleared.
  1620.  
  1621. `Shared access'
  1622.      This switch allows you to run the serial driver in shared access
  1623.      mode.  Not all driver types will allow this to happen.
  1624.  
  1625. `Handle xON/xOFF internally'
  1626.      This switch enables the internal processing of the flow-control
  1627.      characters `xON' (= `Control + S') and `xOFF' (= `Control + Q').
  1628.      Whenever you press `Control + S' `term' will change its state to
  1629.      `holding' and stop terminal input and output processing.  Press
  1630.      `Control + Q' in order to restart.
  1631.  
  1632. `Pass xON/xOFF through'
  1633.      If this switch is enabled, `term' will pass the `xON'/`xOFF'
  1634.      characters through to the modem rather than quietly discarding
  1635.      them.
  1636.  
  1637. `Check carrier'
  1638.      `term' will recognize the `NO CARRIER' message a modem emits when
  1639.      the carrier line signal drops back to low. For maximum safety,
  1640.      `term' will also check the carrier signal line after receiving the
  1641.      `NO CARRIER' message if this switch is enabled. This is to make
  1642.      sure that no accidentally appearing text causes confusion.
  1643.  
  1644.      If this switch is enabled, `term' will check the carrier signal
  1645.      during file transfers and will stop the transfer if the signal is
  1646.      lost. It will also check the carrier signal at program startup and
  1647.      if the signal is detected will start the online timer. If offline,
  1648.      `term' will check the carrier signal periodically and go into
  1649.      online state if the signal is detected.
  1650.  
  1651.      *Note:  Be sure to switch the carrier detect check off in case you
  1652.      wish to transfer files using a null-modem cable!*
  1653.  
  1654. `Direct connection'
  1655.      You can directly connect the Amiga to other computers, such as by
  1656.      using a nullmodem cable. In such a case it does not make good
  1657.      sense to enforce a carrier signal check or to warn you if the
  1658.      transmission speed requires that you enable RTS/CTS handshaking.
  1659.      This switch disables both features.
  1660.  
  1661. `Quantum'
  1662.      The number of bytes `term' tries to read in one chunk at a time.
  1663.      The more bytes read, the more time it takes to process them. While
  1664.      the text is processed, mouse and keyboard input are delayed.
  1665.      Choose this value with care.
  1666.  
  1667. `Use OwnDevUnit'
  1668.      This switch controls whether Christopher Wichura's
  1669.      `OwnDevUnit.library' will be used to schedule access of multiple
  1670.      programs to the currently selected serial device driver.
  1671.  
  1672. `Do not use if device is in shared mode'
  1673.      It may not be a good idea to lock the device driver for exclusive
  1674.      access through OwnDevUnit.library while `term' is trying to share
  1675.      the driver with other applications in non-exclusive mode. For such
  1676.      cases, enable this switch.
  1677.  
  1678. `Release device when online'
  1679.      This option is potentially dangerous. By default `term' will yield
  1680.      control over the serial device driver only if offline, i.e. if no
  1681.      carrier signal is detected, etc. With this switch enabled `term'
  1682.      will let go of the device driver even if a connection is active
  1683.      and you are online. This may cause the device driver to drop the
  1684.      line, you have been warned.
  1685.  
  1686. `Release device when dialing'
  1687.      If your uucp netcall catches you off guard while `term' is still
  1688.      dialing, here is your chance to give the netcall precedence.
  1689.      Please note that although `term' will exit the dialing procedure
  1690.      as quickly as possible and yield control over the serial device
  1691.      driver, it will not automatically start to redial when the device
  1692.      driver becomes available again.
  1693.  
  1694. `Satisfy requests'
  1695.      When a program requests access to the serial device driver, `term'
  1696.      is supposed to let go of the driver if possible. This switch
  1697.      controls what `term' will do in this case:
  1698.  
  1699.     `Release device'
  1700.           The driver is released, just as if you would select the main
  1701.           menu item of the same name.
  1702.  
  1703.     `Release device, attempt to reown'
  1704.           The device driver is released, but `term' will retry every
  1705.           four seconds to reopen and thus `reown' it again.
  1706.  
  1707.     `Keep device open'
  1708.           `term' always ignores requests to release the device driver.
  1709.  
  1710. `Serial device'
  1711.      The name of the serial driver to be used by `term'. This is usually
  1712.      `serial.device' (`modem0.device' for the internal Supra modem,
  1713.      `sxbios.device' for ASDG's serial IO card, `vectorser.device' for
  1714.      the VectorConnection card, `duart.device' for the MultiFaceCard,
  1715.      etc.; consult your hardware manual for more information).
  1716.  
  1717. `Device unit number'
  1718.      The device unit number of the serial driver selected above. This is
  1719.      usually left `0' but can also be used to address multiple serial IO
  1720.      ports.
  1721.  
  1722. `Use'
  1723.      Accept the current settings.
  1724.  
  1725. `Default (phonebook only)'
  1726.      Drop the current settings, making a connection to the corresponding
  1727.      phone number will leave the corresponding main configuration entry
  1728.      unchanged.
  1729.  
  1730. `Cancel'
  1731.      Don't use the current settings.
  1732.  
  1733. Modem panel
  1734. ===========
  1735.  
  1736.    This is where modem control text and other related parameters are
  1737. configured.
  1738.  
  1739. `Modem initialization command'
  1740.      The text to send to the modem after successful program
  1741.      initialization.  This text is optional and thus does not need to
  1742.      be present.
  1743.  
  1744.      The default modem initialization command `term' uses is
  1745.      `ATE1V1Q0\r' which will do the following with a modem that
  1746.      complies to the Hayes Standard AT Command Set Specification:
  1747.  
  1748.        1. [E1] Command state character echo is enabled, so the modem
  1749.           echoes back every character you send to it until it makes a
  1750.           connection.
  1751.  
  1752.        2. [V1] Result codes are displayed as words, so the modem will
  1753.           respond with messages such as `CONNECT', `NO CARRIER', etc.
  1754.           rather than numeric codes.
  1755.  
  1756.        3. [Q0] Result codes are enabled, so that the modem will send a
  1757.           response to any command it receives.
  1758.  
  1759.      For more information on these commands, consult your modem manual.
  1760.  
  1761.      The dialing routine will use the initialization text entered here
  1762.      before dialing a phone number. You can separate multiple
  1763.      initialization commands with vertical bar (`|') characters.  Only
  1764.      the dialer will use them.
  1765.  
  1766. `Modem exit command'
  1767.      The text to be sent to the modem shortly before the program
  1768.      terminates. Just like the modem init text it is optional and does
  1769.      not need to be present.
  1770.  
  1771.      There is no default exit command `term' uses.
  1772.  
  1773.      The dialing routine will use the initialization text entered here
  1774.      before dialing the next telephone number.
  1775.  
  1776.      The dialing routine will use the exit text entered here before
  1777.      dialing a phone number. You can separate multiple exit commands
  1778.      with vertical bar (`|') characters.  Only the dialer will use them.
  1779.  
  1780. `Hang up command'
  1781.      The text to be sent to the modem when asked to hang up the line.
  1782.      This text does have to be present if the `Drop DTR on hangup'
  1783.      switch is enabled.
  1784.  
  1785.      By default `term' uses the following hang up command:
  1786.      `~~~~+++~~~~ATH0\r'.  This will cause `term' to wait exactly two
  1787.      seconds, to transmit the +++ escape sequence, wait another two
  1788.      seconds and eventually transmit the hangup-command.  The small
  1789.      delay before and after the escape sequence is necessary to put the
  1790.      modem into command state. The tilde characters are part of a set
  1791.      of special characters `term' uses, these do not get sent through
  1792.      to the modem. Specifically, each tilde character causes `term' to
  1793.      wait for half a second. For more information on the command
  1794.      sequences the tilde character belongs to see Command sequences.
  1795.  
  1796. `Do not send modem init/exit commands.'
  1797.      You may have placed special commands in the init/exit text fields
  1798.      that should be executed only when starting and terminating `term'.
  1799.      Still chances are that these will also get executed when the
  1800.      phonebook dialer dials the selected phonebook items unless you
  1801.      enable this switch.
  1802.  
  1803. `Command character send delay'
  1804.      You will only rarely use this feature. Some of the more modern
  1805.      high-speed modems with rather unreliable firmware which support
  1806.      BPS rates of 28,800 bps and up cannot quite make sense of modem
  1807.      initialization and dialing commands if sent at this speed.
  1808.      However, small delays between the single characters sent to the
  1809.      modem can help. Just set the number of microseconds to wait here.
  1810.  
  1811. ``No carrier' message'
  1812.      The message the modem emits if the data carrier is lost. The
  1813.      program uses this to determine the length of the connection and to
  1814.      calculate how much the user is to pay for it.
  1815.  
  1816. ``No dialtone' message'
  1817.      The message to be returned by the modem in case it does not detect
  1818.      any dialing tone on the phone line.
  1819.  
  1820. ``Connect' message'
  1821.      The message the modem emits after detecting a carrier signal.
  1822.      `term' uses this input to determine successful telephone
  1823.      connection, to reconfigure itself and to start the online timer.
  1824.  
  1825. ``Voice' message'
  1826.      The message `term' is expected to receive if the modem detects a
  1827.      voice call. If in dialing mode, `term' will stop the process. The
  1828.      user will in any case be notified of the event.
  1829.  
  1830. ``Ring' message'
  1831.      The message the modem emits if it receives a call, same effects as
  1832.      with the `Voice' message.
  1833.  
  1834. ``Busy' message'
  1835.      The message the modem returns if the number which has just been
  1836.      dialed is busy.
  1837.  
  1838. ``Ok' message'
  1839.      The message the modem returns if a command was successfully
  1840.      executed.
  1841.  
  1842. ``Error' message'
  1843.      The message the modem returns if a command was not to be executed
  1844.      successfully.
  1845.  
  1846. `Dial command prefix'
  1847.      The text to be used to prefix each dialing command. By default
  1848.      `term' uses `ATD\w' as the prefix. This command contains the
  1849.      special escape sequence `\w' `term' will expand to either `T' or
  1850.      `P', depending on what the `Dial mode' switch is set to.
  1851.  
  1852. `Dial command suffix'
  1853.      The text to be used to append to each dialing command. This is
  1854.      usually the carriage-return character `\r'.
  1855.  
  1856. `Dial mode'
  1857.      This switch affects whether dialing commands will use touch tone or
  1858.      pulse dialing. Touch tone dialing usually is quite a bit faster
  1859.      than pulse dialing, but not all phone networks support it. This
  1860.      switch requires that either the dial prefix or dial suffix commands
  1861.      include the `\W' command sequence (see Command sequences).  By
  1862.      default `term' will use pulse dialing.
  1863.  
  1864. `PBX dial command'
  1865.      If you are dialing out through a PBX you may need to dial an extra
  1866.      number and wait a bit before dialing the rest of the phone number.
  1867.      Enter the extra number and any other special modem control
  1868.      characters here. By default `term' will use `0,,,' as the PBX dial
  1869.      command.  If enabled, this dial command is put between the `Dial
  1870.      prefix', the phone number to dial and the `Dial suffix'. The
  1871.      default command first dials a 0, then tells the modem to wait a
  1872.      bit (each comma causes the modem to wait for a small amount of
  1873.      time, see your modem manual for more information) for the dial
  1874.      tone to occur and eventually dials the rest of the phone number.
  1875.  
  1876.      Note that you may need to change the 0 to a 9 in the US.
  1877.  
  1878. `Use PBX dial command'
  1879.      This switch enables the PBX dial command describe above.
  1880.  
  1881. `Delay after dialing whole list (`Redial delay')'
  1882.      The time to wait after walking through the whole dialing list
  1883.      without making any successful connection before another attempt is
  1884.      started.
  1885.  
  1886. `Redial each list entry (`Dial retries')'
  1887.      The number of times the dialer walks through the dialing list
  1888.      trying to make a successful connection before giving up. Setting
  1889.      this value to `unlimited' will cause the dialer to retry over and
  1890.      over again until it either makes a connection or the dialing
  1891.      procedure is aborted.
  1892.  
  1893. `Wait for connection (`Dial timeout')'
  1894.      The time to wait for a successful connection during dialing. After
  1895.      this time has elapsed, the dialer will skip to the next entry in
  1896.      the list.
  1897.  
  1898. `Delay after each busy signal (`Delay between calls')'
  1899.      Some modems impose a limit on how many times you may dial out in a
  1900.      minute or just get hopelessly lost if dial commands come in in
  1901.      rapid succession. Here is where you set the time to wait between
  1902.      two successive calls. This value also has a profound effect on the
  1903.      redial delay which will be extended a bit if it is smaller than
  1904.      the delay between calls.
  1905.  
  1906. `Show modem responses'
  1907.      By default, `term' will not display any modem response text that is
  1908.      received while it is dialing. If you enable this switch no modem
  1909.      output will be swallowed, it will even find its way into the
  1910.      review buffer.
  1911.  
  1912. `Treat `NO CARRIER' as `BUSY''
  1913.      If this switch is in effect, the dialing function will treat the
  1914.      modem response code `NO CARRIER' exactly as the `BUSY' response
  1915.      code.
  1916.  
  1917. `Connect auto-baud'
  1918.      Most modems echo the BPS rate upon successful connection. If
  1919.      enabled the BPS rate will be read and set for the serial driver.
  1920.  
  1921.      *Use this feature with care as it may have certain negative
  1922.      side-effects (such as the modem dropping the line just after
  1923.      connecting to a BBS)!  If you happen to use a modern high-speed
  1924.      modem you will most certainly not need this feature. If in doubt
  1925.      whether you need to enable this feature you should rather disable
  1926.      it!*
  1927.  
  1928. `Dialer abort hangs up'
  1929.      Unless this switch is enabled the dialing procedure will try to
  1930.      stop a modem dial command by sending a plain carriage return
  1931.      character.  If the `Dialer abort hangs up' switch is enabled the
  1932.      usual modem hang up procedure will be used instead.
  1933.  
  1934. `Time to connect'
  1935.      `term' cannot measure the time to pass between the remote modem
  1936.      picking up the line and the local modem sending the `CONNECT'
  1937.      message. This slider allows to set the length of this interval.
  1938.      Upon connection, it will be added to the total online time.
  1939.  
  1940. `Drop DTR on hangup'
  1941.      Some modems will track the `data terminal ready' line in order to
  1942.      make sure that the terminal program is listening. Once the line
  1943.      goes back to low potential, these modems will drop the line and
  1944.      hang up. Use this button to make `term' take advantage of this
  1945.      feature.
  1946.  
  1947. `Redial after hanging up'
  1948.      If this switch is in effect, `term' will redial all the phone
  1949.      numbers still in the dialing list as soon as the line is hung up
  1950.      or the carrier signal is lost.
  1951.  
  1952. `Connect limit'
  1953.      This gauge is to set a certain period of time to be counted after
  1954.      a connection is made. When elapsed, a command sequence (see
  1955.      Command sequences) will be executed as to be set using the `Limit
  1956.      macro' settings. If set to `0:00' this function will be disabled.
  1957.  
  1958. `Limit macro'
  1959.      A command sequence to be triggered when the time to be set using
  1960.      the `Connect limit' gauge has elapsed. If no text is entered this
  1961.      function will be disabled.
  1962.  
  1963. `Use'
  1964.      Use the current settings.
  1965.  
  1966. `Default (phonebook only)'
  1967.      Drop the current settings, making a connection to the corresponding
  1968.      phone number will leave the corresponding main configuration entry
  1969.      unchanged.
  1970.  
  1971. `Cancel'
  1972.      Keep original settings.
  1973.  
  1974. Screen panel
  1975. ============
  1976.  
  1977. `Display mode'
  1978.      Choose the display mode `term' is to use for the main screen here.
  1979.  
  1980. `Screen font'
  1981.      This is where you choose the user interface font `term' is to use
  1982.      for the main screen.
  1983.  
  1984. `Faster layout'
  1985.      Activating this switch will slow down display updates and window
  1986.      management. Oh well, not always, there may be a speed increase with
  1987.      some configurations, such as with external emulations activated or
  1988.      when using more than four colours on the screen.
  1989.  
  1990.      I suggest to experiment with the effects of this button before
  1991.      actually using it permanently.
  1992.  
  1993. `Make screen public'
  1994.      If this switch is enabled, the `term' main screen will be made
  1995.      available as a public area other programs may open their windows
  1996.      on.
  1997.  
  1998. `Use public screen'
  1999.      `term' does not necessarily open a custom screen, this switch will
  2000.      make the main and auxilary windows appear on a named public
  2001.      screen. `term' will try to adapt colours and text rendering modes
  2002.      to its new environment. It will share the screen palette with
  2003.      other applications which makes it possible to run the built-in
  2004.      terminal emulation in eight or sixteen colours provided that
  2005.      enough shareable screen pens are available (note:  Kickstart 3.0
  2006.      required). `term' will inherit the text font to be used for user
  2007.      interface layout from the public screen it will open its window on.
  2008.  
  2009.      *Note:  only the built-in terminal emulation is guaranteed to take
  2010.      advantage of pen-sharing facilities, external emulation libraries
  2011.      will most likely fail to display text correctly!*
  2012.  
  2013.      Take care when resizing the `term' main window as a size change
  2014.      will reset the terminal emulation.
  2015.  
  2016. `Public screen name'
  2017.      The name of the public screen `term' is to open windows on. `term'
  2018.      will fall back to the Workbench screen if no proper name is given
  2019.      (i.e. no name is entered) or the desired screen is unavailable.
  2020.  
  2021. `Screen title'
  2022.      If this button is enabled, the `term' screen will contain a
  2023.      draggable title bar, if not, the title bar will be disabled,
  2024.      leaving more space for the terminal output window.
  2025.  
  2026. `Window border'
  2027.      The main window will be opened on a custom screen, featuring a
  2028.      drag bar and depth gadgets.
  2029.  
  2030. `Separate status window'
  2031.      A separate window will be opened for the status display window.
  2032.  
  2033. `Status line'
  2034.      This switch allows to disable the status line display or to change
  2035.      between two alternative status line displays:
  2036.  
  2037.     `Disabled'
  2038.           No status line is displayed.
  2039.  
  2040.     `Standard'
  2041.           The standard two status lines are displayed.
  2042.  
  2043.     `Compact'
  2044.           A very condensed version of the status line is displayed,
  2045.           only the data is shown but no captions. The data is displayed
  2046.           in the following order:
  2047.  
  2048.             1. Status
  2049.  
  2050.             2. Terminal type
  2051.  
  2052.             3. Transfer protocol
  2053.  
  2054.             4. BPS rate
  2055.  
  2056.             5. Serial parameters
  2057.  
  2058.             6. Time of day
  2059.  
  2060.             7. Online time
  2061.  
  2062. `Online display'
  2063.      This switch determines what type of information is to be displayed
  2064.      in the bottom right corner of the status display:
  2065.  
  2066.     `Online time'
  2067.           The time online
  2068.  
  2069.     `Online cost'
  2070.           The amount of money to be paid for the connection
  2071.  
  2072.     `Time & cost'
  2073.           Both time and money, the display will toggle between both of
  2074.           them every five seconds.
  2075.  
  2076. `Colour'
  2077.      This button determines the colour mode the terminal emulation is
  2078.      going to use. Until now, four modes have been implemented:
  2079.  
  2080.     `4 Colours (Amiga)'
  2081.           Four colours, optionally blinking.
  2082.  
  2083.     `8 Colours (ANSI)'
  2084.           Eight colours, optionally blinking.
  2085.  
  2086.     `16 Colours (EGA)'
  2087.           Sixteen colours, as the EGA-palette, optionally blinking.
  2088.  
  2089.     `2 Colours (Mono.)'
  2090.           Monochrome, two colours.
  2091.  
  2092. `Blinking'
  2093.      If selected the VT100 blinking option is enabled. This may require
  2094.      to allocate more colours for a specific colour mode than with
  2095.      blinking disabled, so do not be surprised if display performance
  2096.      suddenly drops like a brick.
  2097.  
  2098. `Palette'
  2099.      These buttons are used to select a colour of the screen palette
  2100.      that is to be changed.
  2101.  
  2102. `Red/Green/Blue'
  2103.      Use these sliders to modify the red, green and blue components of
  2104.      the currently active colour.
  2105.  
  2106. `Use default colours'
  2107.      Press this button to have the current colour palette set to the
  2108.      built-in default colours.
  2109.  
  2110. `Use standard pens'
  2111.      The user interface look is determined by the choice of on-screen
  2112.      rendering pens, i.e. which colour to use for highlighted text,
  2113.      active windows, inactive windows, etc. If this button is enabled
  2114.      the screen will be opened using a predefined standard set of
  2115.      drawing pens.
  2116.  
  2117. `Edit pens...'
  2118.      Pressing this button will open the pen panel (see Pen panel) which
  2119.      permits editing the drawing pens to use for this colour mode.
  2120.  
  2121. `Use'
  2122.      Use the current settings.
  2123.  
  2124. `Default (phonebook only)'
  2125.      Drop the current settings; making a connection to the corresponding
  2126.      phone number will leave the corresponding main configuration entry
  2127.      unchanged.
  2128.  
  2129. `Cancel'
  2130.      Keep the old settings.
  2131.  
  2132. Pen panel
  2133. =========
  2134.  
  2135.    *This control panel is available under Kickstart 3.0 and above only.
  2136. Its functionality is not supported under previous operating system
  2137. releases!*
  2138.  
  2139.    The user interface look is determined by the choice of on-screen
  2140. rendering pens, i.e. which colour to use for highlighted text, active
  2141. windows, inactive windows, etc. Changing the screen colour palette also
  2142. affects the look of the user interface, this control panel permits to
  2143. compensate for such changes: even if you reverse the terminal colours
  2144. you can still retain the correct user interface look by adapting the
  2145. pens. The controls available are similar to the Workbench Preferences
  2146. editor program `Palette':
  2147.  
  2148. `Background'
  2149.      The screen background colour to use, by default this is colour 0.
  2150.  
  2151. `Text'
  2152.      The default colour to render common text, such as in control panel
  2153.      labels.
  2154.  
  2155. `Important text'
  2156.      The colour to draw important text in, this should put a certain
  2157.      emphasis on the text rendered so the colour should be different
  2158.      from the `Text' colour.
  2159.  
  2160. `Bright edges'
  2161.      The colour to use to render the bright edges of windows.
  2162.  
  2163. `Dark edges'
  2164.      The colour to use to render the dark edges of windows.
  2165.  
  2166. `Active window title bars'
  2167.      The colour to mark the currently active window and selected
  2168.      buttons and list entries.
  2169.  
  2170. `Active window titles'
  2171.      The colour to use when printing text over active window title bars,
  2172.      selected buttons and list entries.
  2173.  
  2174. `Menu background'
  2175.      The colour to render pull-down menus in.
  2176.  
  2177. `Menu text'
  2178.      The colour to use when printing the menu text.
  2179.  
  2180. `Use standard pens'
  2181.      Reset the current pen selection to default values.
  2182.  
  2183. `Use'
  2184.      Keep the current settings.
  2185.  
  2186. `Cancel'
  2187.      Return to previous settings.
  2188.  
  2189. Terminal panel
  2190. ==============
  2191.  
  2192.    These settings control the basic behaviour of the terminal emulation
  2193. `term' uses. More specific emulation options are available in the
  2194. emulation window (see Emulation panel).
  2195.  
  2196. `BBS-ANSI compliant'
  2197.      This button serves as a shortcut to select terminal settings that
  2198.      comply with the BBS-ANSI "standard": the terminal text font is set
  2199.      to "IBM PC style" and the terminal size is set to 80 by 25
  2200.      characters.
  2201.  
  2202. `Text font'
  2203.      The name of the standard or default terminal text display font.
  2204.      Please note that this font cannot be proportional-spaced.
  2205.  
  2206. `IBM PC font'
  2207.      The name of the font to use if the terminal is in IBM PC mode.
  2208.      Please note that this font cannot be proportional-spaced.
  2209.  
  2210. `Font'
  2211.      Here the type of the font to be used for text display in the
  2212.      terminal window can be selected:
  2213.  
  2214.     `Standard'
  2215.           The standard text font selected under the `Text font' settings
  2216.           in this control panel.
  2217.  
  2218.     `IBM PC style'
  2219.           A font similar to the IBM PC text font will be used. No
  2220.           matter how the translation tables (see Translation panel) are
  2221.           configured, outgoing Amiga characters are translated into PC
  2222.           character values. The terminal window will use the font
  2223.           selected under the `IBM PC font' settings in this control
  2224.           panel.
  2225.  
  2226.     `IBM PC style (raw)'
  2227.           This selection has very much the same effect as `IBM PC
  2228.           style' but no character translation is performed. The terminal
  2229.           window will use the font selected under the `IBM PC font'
  2230.           settings in this control panel.
  2231.  
  2232. `Columns'
  2233.      The number of columns to use for the terminal window. The minimum
  2234.      value is 20 columns, the maximum value is defined by the actual
  2235.      screen size.
  2236.  
  2237. `Lines'
  2238.      The number of lines to use for the terminal window. The minimum
  2239.      value is 20 lines, the maximum value is defined by the actual
  2240.      screen size.
  2241.  
  2242. `Emulation'
  2243.      This is where you select the terminal emulation. Choose one of the
  2244.      following:
  2245.  
  2246.     `ANSI/VT220'
  2247.           This emulation is a `melange' of three terminal command sets
  2248.           which themselves are supersets or subsets of one another. Most
  2249.           of the VT220 command set is supported, including some
  2250.           additions made in the ANSI X3.64 specifications. With VT220
  2251.           its subsets VT100 and VT102 are supported. However, not all
  2252.           the VT52 commands are supported.
  2253.  
  2254.     `Atomic'
  2255.           A plain text-only terminal mode which filters out terminal
  2256.           commands and special control characters.
  2257.  
  2258.     `TTY'
  2259.           Also a text-only terminal mode but which displays all control
  2260.           codes and commands it cannot handle on-screen, great for
  2261.           debugging.
  2262.  
  2263.     `Hex'
  2264.           Another debugging mode which displays all incoming data in
  2265.           hexadecimal notation. If possible the corresponding glyphs
  2266.           will be displayed as well.
  2267.  
  2268.     `External'
  2269.           This enables the use of external terminal emulation libraries
  2270.           following the XEM v2.0 specifications. In this mode you need
  2271.           to specify the library to use, otherwise `term' will return to
  2272.           `ANSI/VT220' mode.
  2273.  
  2274. `Emulation name'
  2275.      The name of an external terminal emulation library to be used by
  2276.      `term' instead of the built-in emulation code. Requires that the
  2277.      emulation mode is set to `External'
  2278.  
  2279. `Use emulation process'
  2280.      If you are bold and daring you can have an external process handle
  2281.      the terminal text output, just turn on this switch. Please note
  2282.      that the external process will consume additional memory and text
  2283.      throughput speed is likely to suffer with fragmented memory. On
  2284.      the other hand the emulation process will relieve the main program
  2285.      of the tedious task of having to process the incoming data which.
  2286.      This helps the main program to keep up with the incoming data
  2287.      stream and makes it less likely that incoming text is lost.
  2288.  
  2289. `Bell'
  2290.      This is where you select the action(s) `term' is to take whenever a
  2291.      `bell' character turns up in the data stream:
  2292.  
  2293.     `Visual'
  2294.           The screen will flash.
  2295.  
  2296.     `Audible'
  2297.           An audible signal will be generated.
  2298.  
  2299.     `Visual & audible'
  2300.           A combination of both effects.
  2301.  
  2302.     `Ignore'
  2303.           Nothing will happen.
  2304.  
  2305.     `System default'
  2306.           The system beep routines will be used.
  2307.  
  2308. `Keymap file'
  2309.      If your installation requires that `term' is to use a custom keymap
  2310.      layout, enter the keymap file name here.
  2311.  
  2312.      *At the time of this writing the program will not support custom
  2313.      keymap layouts with the packet window (see Packet window) due to
  2314.      operating system limitations.*
  2315.  
  2316. `Send CR'
  2317. `Send LF'
  2318.      These buttons determine the sequences that are sent to the remote
  2319.      if a carriage return (CR) or line feed (LF) character is to be
  2320.      transmitted.  Both characters serve as end-of-line indicators.
  2321.  
  2322.     `-'
  2323.           The character is suppressed.
  2324.  
  2325.     `<<CR>>'
  2326.           A carriage return character is sent.
  2327.  
  2328.     `<<LF>>'
  2329.           A line feed character is sent.
  2330.  
  2331.     `<<CR>><<LF>>'
  2332.           A sequence of two characters (carriage return followed by
  2333.           line feed) is sent.
  2334.  
  2335.     `<<LF>><<CR>>'
  2336.           A sequence of two characters (line feed followed by carriage
  2337.           return) is sent.
  2338.  
  2339. `Receive CR'
  2340. `Receive LF'
  2341.      These two buttons have largely the same effect as the `Send CR/LF'
  2342.      buttons, they are different in that they affect the incoming data
  2343.      rather than the data transmitted.
  2344.  
  2345. `Use'
  2346.      Use the current settings.
  2347.  
  2348. `Default (phonebook only)'
  2349.      Drop the current settings, making a connection to the corresponding
  2350.      phone number will leave the corresponding main configuration entry
  2351.      unchanged.
  2352.  
  2353. `Cancel'
  2354.      Keep the old settings.
  2355.  
  2356. Emulation panel
  2357. ===============
  2358.  
  2359.    The buttons found here allow you to change the internal parameters of
  2360. the selected emulation.
  2361.  
  2362.    The following text only describes the parameters to change when using
  2363. the built-in terminal emulation; if an external terminal emulation is in
  2364. effect, this menu will conjure up the corresponding parameters menu as
  2365. supported by the external terminal emulation module.
  2366.  
  2367. `BBS-ANSI compliant'
  2368.      If you enable this switch, the emulation configuration will be
  2369.      changed to support the BBS-ANSI "standard": this affects text
  2370.      output parameters and the way the terminal responds to
  2371.      identification queries.
  2372.  
  2373. `Terminal identifies as'
  2374.      If the remote application requests that `term' identify itself,
  2375.      stating which terminal it emulates, `term' can respond with
  2376.      various identification signatures. It can identify itself as being
  2377.      a DEC VT200, VT102, VT101 or VT100 terminal. You may only rarely
  2378.      want to change this option, it is mainly used to trick old or
  2379.      not-quite-that-well-behaved applications into being a little
  2380.      friendlier towards the `term' terminal emulation.
  2381.  
  2382.      Note: this switch does not affect how `term' operates, it only
  2383.      changes the signature `term' responds with when asked to identify
  2384.      itself, i.e.  even if you switch to VT100, `term' will still
  2385.      understand and process VT220 specific commands.
  2386.  
  2387. `Wrap characters'
  2388.      This function activates the automatical carriage return function
  2389.      which is triggered as soon as the cursor crosses the right screen
  2390.      margin. To avoid unpleasant side-effects, this switch should be
  2391.      activated all the time.
  2392.  
  2393. `Lock line wrapping'
  2394.      If this switch is enabled, any requests to change the end of line
  2395.      text wrapping mode will be rejected.
  2396.  
  2397. `Insert mode'
  2398.      Normally, `term' is in overwrite-mode (characters entered
  2399.      overwrite the contents of the screen). If this gadget is
  2400.      activated, typed characters are inserted by pushing all the
  2401.      characters right of the cursor towards the right margin.
  2402.  
  2403.      *The insert-mode does only work for lines. If characters are
  2404.      pushed out of the screen they cannot be restored.*
  2405.  
  2406. `New-line mode'
  2407.      This gadget activates a special mode in which some VT100 control
  2408.      sequences cause `term' to perform a linefeed instead of clearing
  2409.      the screen or other serious changes of the contents of the screen.
  2410.  
  2411. ``CLS' resets cursor position'
  2412.      As per the VT100 specs, the control sequence to clear the screen is
  2413.      not to change the current cursor position. However, several
  2414.      applications expect it to be moved to the top left corner of the
  2415.      screen. This button will activate this behaviour.
  2416.  
  2417. `Printer control enabled'
  2418.      `term' supports the standard VT220 printer control commands. If you
  2419.      do not want the remote application to play with the printer the
  2420.      corresponding support commands can be disabled with this switch.
  2421.      If disabled `term' will act like a VT220 terminal with no printer
  2422.      attached.
  2423.  
  2424. `Lock text style'
  2425.      If this switch is enabled, any requests to change the text
  2426.      rendering attributes (underlined, highlight, blinking, inverse)
  2427.      will be rejected.
  2428.  
  2429. `Lock text colour'
  2430.      If this switch is enabled, any requests to change the text
  2431.      rendering colour will be rejected.
  2432.  
  2433. `Wrap cursor moves'
  2434.      According to the VT-100 specifications the cursor movements have
  2435.      to stop at the edges of the screen. In spite of this the cursor
  2436.      may leave these borders, especially in ANSI-mode, and may appear
  2437.      at the other side of the screen. This button activates a more
  2438.      `tolerant' mode.
  2439.  
  2440. `Cursor keys'
  2441.      If in `applications mode' the cursor keys will cause a command
  2442.      sequence to be transmitted instead of a cursor move event. This
  2443.      mode is usually activated by special applications on the remote
  2444.      side.
  2445.  
  2446. `Lock cursor key mode'
  2447.      Certain applications may excessively change the cursor key mode
  2448.      from standard to applications mode. If you do not want this to
  2449.      happen you can forbid it by using this switch.
  2450.  
  2451. `Numeric keypad'
  2452.      If in `applications mode' the numeric keypad will cause a command
  2453.      sequence to be transmitted instead of the characters indicated by
  2454.      the key labels.  This mode is usually activated by special
  2455.      applications on the remote side.
  2456.  
  2457. `Lock keypad mode'
  2458.      Certain applications may excessively change the keypad mode from
  2459.      standard to applications mode. If you do not want this to happen
  2460.      you can forbid it by using this switch.
  2461.  
  2462. `Swap [Backspace] and [Del] keys'
  2463.      If this switch is in effect the backspace and delete key codes are
  2464.      swapped. *This also applies to sequences such as `Control + H'
  2465.      which will produce a delete character instead of a backspace
  2466.      character.*
  2467.  
  2468. `Lock font mode'
  2469.      If this switch is turned on, any terminal commands to change the
  2470.      font scale will be ignored.
  2471.  
  2472. `Scrolling'
  2473.      This button selects one of two different scrolling modes: smooth or
  2474.      jumping.
  2475.  
  2476. `Destructive backspace'
  2477.      Determines if the `Backspace' code, which will delete the character
  2478.      left from the cursor, only moves the cursor to the left or removes
  2479.      the character from the screen. `Off' turns this feature off,
  2480.      `Overstrike' clears the character below the cursor and `Shift'
  2481.      shifts the line contents to the right of the cursor to the left.
  2482.  
  2483. `Answerback message'
  2484.      The text to send across the serial line whenever an `ENQ'
  2485.      character is received. The text is - as usual - a command sequence.
  2486.  
  2487. `Maximum prescroll lines'
  2488.      This is where you set the maximum number of lines the terminal
  2489.      emulation will scroll the screen contents up in one single `jump'.
  2490.      This feature is often referred to as `prescroll'.  *Note: the data
  2491.      throughput rate plays an important part when counting the number
  2492.      of lines to scroll. The higher the rate, the more lines will be
  2493.      scrolled.*
  2494.  
  2495. `Maximum scroll jump'
  2496.      Here is where you set the number of lines to move the screen
  2497.      contents up when the cursor moves beyond the last terminal screen
  2498.      line.
  2499.  
  2500. `Use standard pens'
  2501.      The built-in terminal emulation makes use of up to sixteen text
  2502.      rendering pens and four text rendering attributes. For each colour
  2503.      mode supported (see Screen panel) a specific pen order and text
  2504.      attribute assignment is predefined. You can select your own pen
  2505.      order and attribute assignment if this switch is not enabled by
  2506.      pressing the button labeled `Edit pens...'.
  2507.  
  2508. `Edit pens...'
  2509.      Pressing this button will open the text pen panel (see Textpen
  2510.      panel) which permits editing the drawing pens to use for this
  2511.      colour mode.
  2512.  
  2513. `Use'
  2514.      Use the current settings.
  2515.  
  2516. `Default (phonebook only)'
  2517.      Drop the current settings, making a connection to the corresponding
  2518.      phone number will leave the corresponding main configuration entry
  2519.      unchanged.
  2520.  
  2521. `Cancel'
  2522.      Keep the old settings.
  2523.  
  2524. Textpen panel
  2525. =============
  2526.  
  2527.    For each colour mode (monochrome, 4, 8, 16 colours) the terminal
  2528. emulation uses a specific order of text pens and text attribute
  2529. assignments.  The text pens determine which text rendering colours to
  2530. use. The text attribute assignments define how blinking, inverse,
  2531. underlined and highlighted text should be displayed. This control panel
  2532. is divided into two parts. One part serves to select the text pens, the
  2533. other part will let you assign the text attributes. At the left hand
  2534. side of each control you will find a label which indicates the
  2535. emulation's default value.
  2536.  
  2537.    There is a limitation in the number of text colour you can choose.
  2538. While there is a colour mode which makes use of 16 colours, only a
  2539. maximum of eight colours can be selected. The reason for this
  2540. limitation is found in the terminal control commands which allow for
  2541. only eight colours (0-7). The remaining eight colours (8-15) are
  2542. selected via a text rendering attribute, known as `highlight'.  This
  2543. means, if text is to be printed in colour 7 and the highlight text
  2544. rendering attribute is enabled the text will be printed in colour 15.
  2545. The `highlight' text rendering attribute always has a special meaning.
  2546. In all colour modes except 16 it causes text to be output in boldface.
  2547.  
  2548. `Drawing pens'
  2549.      Here you select the text drawing pen order to use.
  2550.  
  2551. `Attributes'
  2552.      Here you select which text rendering attribute to use instead of
  2553.      the default. You can also choose to disable an attribute.
  2554.  
  2555. Clipboard panel
  2556. ===============
  2557.  
  2558. `Clipboard unit'
  2559.      The clipboard supports several units (0-255) which can be accessed
  2560.      independently. It can make sense to change this value but
  2561.      generally you will probably leave it as unit `0'.
  2562.  
  2563. `Paste prefix'
  2564.      If enabled, the text to send before the clipboard contents are fed
  2565.      into the input stream, see Clipboard.
  2566.  
  2567. `Paste suffix'
  2568.      If enabled, the text to send after the clipboard contents are fed
  2569.      into the input stream, see Clipboard.
  2570.  
  2571. `Convert <<LF>> to <<CR>>'
  2572.      On the Amiga, new lines end with the LF (line feed) character. To
  2573.      simulate typed text, these characters should be converted to CR
  2574.      (carriage return characters) when pasting the contents of the
  2575.      clipboard. If this switch is enabled, the conversion will take
  2576.      place.
  2577.  
  2578. `Text pacing'
  2579.      The mode to determine how text is sent to the remote:
  2580.  
  2581.     `Direct'
  2582.           Each line will be sent without any delay.
  2583.  
  2584.     `Wait for echo'
  2585.           The program will wait for each single character sent to be
  2586.           echoed by the remote.
  2587.  
  2588.     `Wait for any echo'
  2589.           The program will wait for the remote to return any character
  2590.           in response to any character sent. Typically, this is the case
  2591.           with password prompts issued by BBSes.
  2592.  
  2593.     `Wait for line prompt'
  2594.           The program will wait until the remote sends a certain line
  2595.           prompt text.
  2596.  
  2597.     `Character/line delay'
  2598.           The program will respect the character/line delay values to
  2599.           be set using this control panel.
  2600.  
  2601.     `Keyboard delay'
  2602.           The program will send character separated by a delay to be
  2603.           determined by the current system keyboard repeat delay.
  2604.  
  2605.      *Note: the `echo' text pacing modes are to be used with greate
  2606.      care. Certain online services do not echo characters back to the
  2607.      sender as they run only in half-duplex mode.  On the other hand
  2608.      most BBS programs will not echo certain characters, such as escape
  2609.      codes, etc.*
  2610.  
  2611. `Character delay'
  2612.      When sending text this number determines how many seconds to wait
  2613.      before sending the next character.
  2614.  
  2615. `Line delay'
  2616.      When sending text this number determines how many seconds to wait
  2617.      before sending the line-termination character (carriage return).
  2618.  
  2619. `Line prompt'
  2620.      The character(s) to wait for the receiver to issue after a line of
  2621.      text is send. This text may include command sequence tokens.
  2622.  
  2623. `Send timeout'
  2624.      If the `Text pacing' mode is set to  `Wait for echo' or `Wait for
  2625.      line prompt' the maximum time to wait for echo/prompt before the
  2626.      insertion is aborted.
  2627.  
  2628. `Use'
  2629.      Use the current settings.
  2630.  
  2631. `Default (phonebook only)'
  2632.      Drop the current settings, making a connection to the corresponding
  2633.      phone number will leave the corresponding main configuration entry
  2634.      unchanged.
  2635.  
  2636. `Cancel'
  2637.      Keep the old settings.
  2638.  
  2639. Capture panel
  2640. =============
  2641.  
  2642. `Log actions'
  2643.      If enabled will write a protocol of each program action (uploads,
  2644.      downloads, dial attempts, etc.) to a file. Each action is listed
  2645.      along with time and date. Carrier-lost events will also note the
  2646.      approximate cost of the call. The log file created by this
  2647.      function is *not intended* for postprocessing via call-log file
  2648.      analyzers. Use the `Log calls' feature for this purpose.
  2649.  
  2650. `Log file'
  2651.      The name of the file in which the information on the actions
  2652.      executed by `term' will be stored if `Log actions' is enabled.
  2653.  
  2654. `Log calls'
  2655.      If this switch is enabled, `term' will create call-log files in a
  2656.      format compatible with the `CallInfo' program. Sometimes this
  2657.      format is referred to as `NComm format'.
  2658.  
  2659. `Call log file'
  2660.      The name of the file in which the information on calls made by
  2661.      `term' will be stored if `Log calls' is enabled.
  2662.  
  2663. `Log file format'
  2664.      When writing the call logging information to a file, `term' can
  2665.      use one of to different storage formats:
  2666.     `CallInfo'
  2667.           This format is compatible with the call log files NComm
  2668.           writes.
  2669.  
  2670.     `PhoneLog'
  2671.           This is a platform independant format devised by Kai Hofmann.
  2672.  
  2673. `Connect-auto-capture'
  2674.      If enabled will automatically open a capture file after
  2675.      successfully making a connection. Any other already open capture
  2676.      file will be closed before proceeding. The files created will bear
  2677.      the names of the corresponding phonebook entries.
  2678.  
  2679. `Filter enabled'
  2680.      If selected, command sequences are filtered out before the incoming
  2681.      characters are captured to disk or printer. This makes good sense
  2682.      with noisy lines generating random characters which might scare
  2683.      your printer. It also produces a text file that is much more
  2684.      readable than with all the control sequence codes cluttering up
  2685.      the text.
  2686.  
  2687. `Convert characters'
  2688.      This switch works in conjunction with the `Filter enabled' option.
  2689.      When using the `IBM PC style' terminal font, `term' receives
  2690.      characters which normally do not have a place in the standard
  2691.      Amiga character set. If the `Convert characters' switch is
  2692.      enabled, these characters will be converted into their Amiga
  2693.      equivalents, if there are any, before they go into the capture
  2694.      buffer. Note that this character conversion is always enabled for
  2695.      text captured to the printer.
  2696.  
  2697. `Creation date'
  2698.      By default `term' will append the date of the call made to the
  2699.      name of the auto-capture file created (`Add to name').
  2700.      Alternatively, `term' will leave the name untouched and store the
  2701.      creation date within the file (`Write to file').
  2702.  
  2703. `File drawer'
  2704.      This text gadget contains the path in which the the capture files
  2705.      will be created if `Connect-auto-capture' is enabled.
  2706.  
  2707. `Enabled'
  2708.      This switch works in conjunction with the `Freeze buffer' menu
  2709.      entry (freezing the text buffer contents). In fact, the menu entry
  2710.      is adjusted according to the configuration settings whenever a new
  2711.      configuration is invoked (that is, whenever a new connection is
  2712.      made through the dialing panel or at program startup time). *`term'
  2713.      will only freeze the buffer if this switch is set, it will leave
  2714.      the buffer state (frozen or not) untouched if this switch is not
  2715.      enabled.*
  2716.  
  2717. `Maximum size'
  2718.      To save memory, a high-water mark concerning the maximum amount of
  2719.      memory the text buffer (see Text buffer) will allocate for text
  2720.      may be specified.  The minimum value to be entered here is 2,000
  2721.      bytes which are roughly equivalent to two text buffer pages of
  2722.      text. A value of 0 will cause the text buffer to always allocate
  2723.      as much memory as required to buffer all the incoming text.
  2724.  
  2725. `Buffer memory safety limit (bytes)'
  2726.      The text buffer will stop allocating new memory if there are less
  2727.      that this number of bytes available for allocation. This limit
  2728.      makes sure that `term' does not dry up all the memory available,
  2729.      bringing other applications in danger of collapsing.
  2730.  
  2731. `File drawer'
  2732.      The path the file requester will bring up when saving the contents
  2733.      of the text buffer.
  2734.  
  2735. `Line width'
  2736.      The text buffer stores lines at a fixed size, this slider
  2737.      determines the maximum line width.
  2738.  
  2739. `Buffer operation mode'
  2740.      The incoming data can be stored in the buffer in two different
  2741.      ways. The default is to filter out control sequences but largely
  2742.      to store the text as it came in (this is the `Data flow' mode); if
  2743.      the same text is printed over and over again in the same line, it
  2744.      will show up more than once in the text buffer. The alternative is
  2745.      the `Review' mode in which the text is stored right as it appears
  2746.      on the screen. Although this is more faithful to the general
  2747.      concept of the review buffer, this has its drawbacks; text will
  2748.      only appear in the buffer when it has either scrolled out of view
  2749.      or if the screen gets cleared.
  2750.  
  2751. `Search history size'
  2752.      The text buffer search function maintains a backlog of all the
  2753.      search text entered. The number of texts to remember, before the
  2754.      oldest is discarded, can be set using the `Search history size'
  2755.      control. In the search text entry field you can use the `Cursor
  2756.      up' and `Cursor down' keys to scroll through the previously
  2757.      entered search strings.
  2758.  
  2759. `Open window'
  2760.      This switch controls which part of the text buffer contents the
  2761.      review buffer window will display when opened:
  2762.  
  2763.     `Top'
  2764.           Displays the top of the buffer contents.
  2765.  
  2766.     `End'
  2767.           Displays the end of the buffer contents.
  2768.  
  2769. `Remember position'
  2770.      If this switch is in effect, the program will remember the text
  2771.      display position between calls rather than jumping to the top or
  2772.      the end of the text buffer.
  2773.  
  2774. `Open screen'
  2775.      This switch controls which part of the text buffer contents the
  2776.      review buffer screen will display when opened:
  2777.  
  2778.     `Top'
  2779.           Displays the top of the buffer contents.
  2780.  
  2781.     `Remember'
  2782.           Keeps the previous buffer position.
  2783.  
  2784.     `End'
  2785.           Displays the end of the buffer contents.
  2786.  
  2787. `Remember position'
  2788.      If this switch is in effect, the program will remember the text
  2789.      display position between calls rather than jumping to the top or
  2790.      the end of the text buffer.
  2791.  
  2792. `Screen position'
  2793.      The buffer screen will usually not be quite as wide as the system
  2794.      overscan settings permit. This switch determines the horizontal
  2795.      placement of the screen:
  2796.  
  2797.     `Left'
  2798.           The screen will be left-edge aligned.
  2799.  
  2800.     `Centre'
  2801.           The screen will be centred.
  2802.  
  2803.     `Right'
  2804.           The screen will be right-edge aligned. This will bring the
  2805.           screen depth arrangement gadget in line with the other
  2806.           screens.
  2807.  
  2808. `Display mode'
  2809.      This is where you choose the screen display mode the buffer screen
  2810.      should use.
  2811.  
  2812. `Use'
  2813.      Use the current settings.
  2814.  
  2815. `Default (phonebook only)'
  2816.      Drop the current settings, making a connection to the corresponding
  2817.      phone number will leave the corresponding main configuration entry
  2818.      unchanged.
  2819.  
  2820. `Cancel'
  2821.      Keep the old settings.
  2822.  
  2823. Command panel
  2824. =============
  2825.  
  2826.    Here you will find entries for four command sequences which serve
  2827. four functions:
  2828.  
  2829. `Startup command'
  2830.      At the beginning of every session with `term' and after a
  2831.      connection has been established by the dialing routine a
  2832.      command-sequence is executed.  Do not use this command for
  2833.      auto-login scripts and such, this is what the `Login command' is
  2834.      for. Note that the dialing procedure executes the `Startup
  2835.      command' after the `Login command'.
  2836.  
  2837. `Login command'
  2838.      This command will be executed immediately after the dialing
  2839.      procedure has established a connection. You should use this
  2840.      command for login scripts and such. Note that the dialing
  2841.      procedure first executes the `Login command' and then the `Startup
  2842.      command'.
  2843.  
  2844. `Logoff command'
  2845.      The command to execute when the line is hung up or the carrier
  2846.      signal is lost.
  2847.  
  2848. `Upload command'
  2849.      `term' will execute this command after a successful upload has
  2850.      been made.
  2851.  
  2852. `Download command'
  2853.      `term' will execute this command after a successful download has
  2854.      been made.
  2855.  
  2856. `Use'
  2857.      Use the current settings.
  2858.  
  2859. `Default (phonebook only)'
  2860.      Drop the current settings, making a connection to the corresponding
  2861.      phone number will leave the corresponding main configuration entry
  2862.      unchanged.
  2863.  
  2864. `Cancel'
  2865.      Keep the old settings.
  2866.  
  2867. Miscellaneous panel
  2868. ===================
  2869.  
  2870.    This is the place where options can be set which would not fit into
  2871. other control panels
  2872.  
  2873. `Backup configuration'
  2874.      By default the local program configuration saved along with a
  2875.      phonebook entry will replace the global configuration as soon as a
  2876.      successful connection is made. If this switch is enabled, `term'
  2877.      will remember the global configuration in effect before the
  2878.      configuration data of a phonebook entry is adopted. As soon as the
  2879.      serial driver loses track of the carrier signal or the user
  2880.      chooses to hang up the line, `term' will restore the previous
  2881.      global configuration.
  2882.  
  2883. `Show fast! macros'
  2884.      If this switch is enabled, the fast macro window (see Fast macro
  2885.      panel) will be opened whenever the current configuration becomes
  2886.      active (e.g. at startup time). Please note that if this switch is
  2887.      not enabled, this does not cause the fast macro window to be
  2888.      closed.
  2889.  
  2890. `Release serial device when iconified'
  2891.      By default the serial device driver is released when `term' is
  2892.      iconified. Unfortunately, some modems drop the line when the
  2893.      device is closed so this switch allows you to keep the link.
  2894.  
  2895. `Simple file I/O'
  2896.      This switch controls whether `term' is to use double-buffered file
  2897.      management routines or not.
  2898.  
  2899. `Protective mode'
  2900.      With this switch enabled `term' tries to be nice and will notify
  2901.      you in case file/drawer/program names you have entered probably are
  2902.      invalid, data was not saved when the program is to be terminated,
  2903.      files are about to get overwritten and also if some program
  2904.      settings combinations are likely to cause trouble. Some users may
  2905.      find this appealing, while some may find it appaling.
  2906.  
  2907. `Create icons'
  2908.      If this switch is in effect `term' will try to provide icons for
  2909.      all files it receives. The following file types (and the
  2910.      corresponding icon files) are supported:
  2911.  
  2912.     *Text file
  2913.           icon `ENV:sys/def_text.info'
  2914.  
  2915.     *Sound file
  2916.           icon `ENV:sys/def_sound.info'
  2917.  
  2918.     *Picture file
  2919.           icon `ENV:sys/def_picture.info'
  2920.  
  2921.     *Tool
  2922.           icon `ENV:sys/def_tool.info'
  2923.  
  2924.     *Archive file
  2925.           icon `ENV:sys/def_archive.info'
  2926.  
  2927.     *Preferences file
  2928.           icon `ENV:sys/def_pref.info'
  2929.  
  2930.     *Other file types
  2931.           icon `ENV:sys/def_project.info'
  2932.  
  2933.      Text and pictures saved by the program will also get icons
  2934.      attached.
  2935.  
  2936. `Program priority'
  2937.      Use this slider to determine the priority under which the `term'
  2938.      main process is to operate. Adjusting this value can make `term'
  2939.      perform more reliably in a system which experiences heavy task
  2940.      loading. It is recommended to experiment with this value until a
  2941.      satisfactory state is found.  Setting the program priority too
  2942.      high or too low may affect the performance of coprocess services
  2943.      such as the double-buffered file I/O routines.
  2944.  
  2945. `Disk I/O buffer size'
  2946.      This slider controls how much memory the double-buffered file
  2947.      management routines will allocate for each buffer. This means a
  2948.      value of 4096 bytes will result in an allocation of 8192 bytes in
  2949.      total.
  2950.  
  2951. `Console output window'
  2952.      Whenever an AmigaDOS/ARexx command is executed an output window is
  2953.      opened. Here is where you configure the size and position of the
  2954.      window to be opened (consult your AmigaDOS manual for a
  2955.      description of the window position string). If the `%s' formatting
  2956.      parameter is used in the output specification it will be replaced
  2957.      by the name of the public screen `term' uses.
  2958.  
  2959. `Suppress output'
  2960.      If you do not want the default AmigaDOS/ARexx command output
  2961.      window to appear, enable this switch. All command output will be
  2962.      redirected to `NIL:'.
  2963.  
  2964. `Alert'
  2965.      `term' notifies the user of certain events, such as a connection
  2966.      being established or a file transfer action which has just been
  2967.      finished.  This switch allows you to select the type of
  2968.      notification:
  2969.  
  2970.     `Bell'
  2971.           A bell signal will be given.
  2972.  
  2973.     `Screen to front'
  2974.           The `term' screen will be brought to the front.
  2975.  
  2976.     `Bell & Screen to front'
  2977.           A combination of the two actions above.
  2978.  
  2979.     `None'
  2980.           Nothing will happen.
  2981.  
  2982.     `Requester dimensions'
  2983.           File, font and screen display mode requesters can be made to
  2984.           appear at specific positions and in specific sizes on the
  2985.           screen. This switch controls how they should appear:
  2986.          `Ignore'
  2987.                The default position and size won't be touched.
  2988.  
  2989.          `Centre'
  2990.                The requester will be centered within the limits of the
  2991.                main window.
  2992.  
  2993.          `Relative'
  2994.                The requester will appear at a specific position
  2995.                relative to the top left corner of the main window.
  2996.  
  2997.     `Edit...'
  2998.           Pressing this button opens a standard file requester,
  2999.           prompting you to resize and move the window to a position
  3000.           where you want to have it appear the next time it is opened.
  3001.           Click on the `Use' button when finished.
  3002.  
  3003. `Use'
  3004.      Use the current settings.
  3005.  
  3006. `Default (phonebook only)'
  3007.      Drop the current settings, making a connection to the corresponding
  3008.      phone number will leave the corresponding main configuration entry
  3009.      unchanged.
  3010.  
  3011. `Cancel'
  3012.      Keep the old settings.
  3013.  
  3014. Path panel
  3015. ==========
  3016.  
  3017.    In this part of the settings all paths, which `term' uses to save or
  3018. load any data, can be determined.
  3019.  
  3020. `...Upload drawer'
  3021. `...Download drawer'
  3022.      The directories in which the functions contained in the `Transfer'
  3023.      menu will search and create files.
  3024.  
  3025. `Configuration storage drawer'
  3026.      The drawer that will contain all configuration files (phonebook,
  3027.      macro keys, etc.). The default configuration file is called
  3028.      `term.prefs' and will be searched in the path defined by the
  3029.      enviroment variable `TERMCONFIGPATH' (see Environment variables).
  3030.  
  3031. `Default text editor'
  3032.      Contains the name and search path of the editor used by `Edit &
  3033.      upload text file' in the transfer menu (see Transf.).
  3034.  
  3035. ``term' help text file'
  3036.      This is where the name of the online-help text file is stored. By
  3037.      default this is `PROGDIR:term.guide'.
  3038.  
  3039. `Use'
  3040.      Use the current settings.
  3041.  
  3042. `Default (phonebook only)'
  3043.      Drop the current settings, making a connection to the corresponding
  3044.      phone number will leave the corresponding main configuration entry
  3045.      unchanged.
  3046.  
  3047. `Cancel'
  3048.      Keep the old settings.
  3049.  
  3050. Transfer panel
  3051. ==============
  3052.  
  3053.    This is where the protocols to be employed for file transfers are to
  3054. be selected. You will also find a handful of additional options here
  3055. which one way or the other fit into the cathegory of file transfer
  3056. related data.
  3057.  
  3058. `Override transfer drawer'
  3059.      Each batch file transfer protocol allows you to specify the name
  3060.      of the drawer to place the files it receives in. By default `term'
  3061.      will redirect the files to a drawer to be specified in the path
  3062.      panel (see Path panel). If this switch is disabled, the internal
  3063.      settings of the current transfer protocol will be used. This may
  3064.      cause files to appear (or rather disappear) in the wrong drawers.
  3065.  
  3066.      Note: if you turn on this switch, `term' will deny the file
  3067.      transfer protocol to delete any files as it may remove them from
  3068.      the wrong drawer.
  3069.  
  3070. `Set `archived' bit'
  3071.      If enabled, this switch will cause `term' to mark files sent as
  3072.      `archived'.
  3073.  
  3074. `Transfer file icons'
  3075.      This switch works in conjunction with the drag & upload feature
  3076.      (see Transfer progress panel). By default, `term' will upload only
  3077.      the files whose icons are dragged on the main window or found in
  3078.      the upload queue. If this switch is in effect the icon files will
  3079.      be transferred as well.
  3080.  
  3081. `Mangle filenames for upload'
  3082.      Certain transfer protocols running under MS-DOS get into serious
  3083.      trouble if told to receive files with names which do not match the
  3084.      local naming scheme (8 characters for the name + "." + 3
  3085.      characters for the extension). For example, in such situations
  3086.      ZModem will restart the file transfer over and over again in a row
  3087.      without getting anywhere. To steer clear of trouble you can turn
  3088.      on the `Mangle filenames for upload' switch which will cause the
  3089.      file transfer protocol to report `condensed' file names to the
  3090.      remote receiver.  A special algorithm will shrink the file names
  3091.      to the MS-DOS file name template, clearing potentially dangerous
  3092.      character combinations on the fly. This switch has no effect on
  3093.      external programs. *Note: the algorithm may map two different
  3094.      Amiga file names to the same MS-DOS file name, so watch out!*
  3095.  
  3096. `Hide upload icon'
  3097.      The file upload panel can be invoked by double-clicking on the
  3098.      corresponding icon placed in the Workbench window (see File upload
  3099.      panel). If you do not want the icon to apear, turn on the `Hide
  3100.      upload icon' switch.
  3101.  
  3102. `Notify user after <n> errors have occured'
  3103.      Here you select after how many file transfer errors you want to be
  3104.      notified. The errors are counted separately for each file. When the
  3105.      given number of errors have accumulated, an error notification
  3106.      sound will be played. Setting this value to 0 suppresses this
  3107.      feature.
  3108.  
  3109. `Notify user'
  3110.      This switch controls when the file transfer window should be
  3111.      brought the front and a notification sound should be played:
  3112.  
  3113.     `only when an error occurs'
  3114.           The `term' screen and the file transfer window will stay in
  3115.           the background until a serious problem occurs.
  3116.  
  3117.     `when transfer begins/ends'
  3118.           Screen and window will be brought to the front at the
  3119.           beginning and at the end of a transfer.
  3120.  
  3121.     `when transfer begins'
  3122.           Screen and window will be brought to the front at the
  3123.           beginning of a transfer.
  3124.  
  3125.     `when transfer ends'
  3126.           Screen and window will be brought to the front at the end of
  3127.           a transfer.
  3128.  
  3129. `File comment'
  3130.      This is where the action to perform on downloaded files can be set:
  3131.  
  3132.     `Ignore'
  3133.           The file comment will not be touched.
  3134.  
  3135.     `File type'
  3136.           The file will be examined and a guess will be made which type
  3137.           of file it is. The file comment will be set to the name of
  3138.           the file type.
  3139.  
  3140.     `Source and time'
  3141.           The current BBS name and the time the file was received are
  3142.           placed in the file comment.
  3143.  
  3144. `File identification command'
  3145.      This AmigaDOS command or ARexx script will be executed for each
  3146.      file that is downloaded. If you include `%s' in the command line,
  3147.      it will be replaced by the name of the file that was downloaded.
  3148.      If you omit these two characters, the name of the file just
  3149.      downloaded will be appended to the command line given here.
  3150.  
  3151.     `Default protocol'
  3152.           Select your most often used file transfer protocol here, make
  3153.           individual changes to the ASCII, text and binary transfer
  3154.           protocols only if you really need them. Most users may never
  3155.           need a different transfer protocol than the default protocol.
  3156.           The default protocol will also handle automatic invocation of
  3157.           downloads if necessary.
  3158.  
  3159.          `Type'
  3160.                You can either select `XPR library' or `External program'
  3161.                here.
  3162.  
  3163.                `XPR library' will use an external transfer protocol
  3164.                library, such as `xprzmodem.library'. This library will
  3165.                be kept open all the time and may for example handle
  3166.                download session automatically.  For more information on
  3167.                how to use XPR libraries see Data transfer via XPR
  3168.                library.
  3169.  
  3170.                `External program' will invoke a program when necessary.
  3171.                This program has to temporarily take over serial I/O
  3172.                processing. Special facilities are available to pass
  3173.                parameters such as the name of the device driver `term'
  3174.                uses to the program. For more information on how to use
  3175.                external programs see Data transfer via external program.
  3176.  
  3177.          `Name'
  3178.                This text entry field either holds the name of the XPR
  3179.                library to use or the name of the external program.
  3180.                Clicking on the select button at the right hand side of
  3181.                the text entry field will bring up either a file
  3182.                requester or another control panel to select the program
  3183.                name and to edit the program parameters.
  3184.  
  3185.          `Send signature'
  3186.                Many file transfer protocols transmit characteristic
  3187.                data to the remote at the beginning of a transmission.
  3188.                This data is called a signature and when found in the
  3189.                incoming data stream `term' will automatically invoke
  3190.                the protocol in question. This is particularly useful
  3191.                with external programs. This text entry field holds the
  3192.                signature which will when received start an upload using
  3193.                the current default protocol.  For more information on
  3194.                protocol signatures see Protocol signatures.
  3195.  
  3196.          `Receive signature'
  3197.                This text entry field holds the signature which will when
  3198.                received start a download using the current default
  3199.                protocol.  For more information on protocol signatures
  3200.                see Protocol signatures.
  3201.  
  3202.          `Edit settings...'
  3203.                Press this button to edit the settings of an XPR
  3204.                library. For an example of how these settings can look
  3205.                like, see XPR options sample.
  3206.  
  3207.     `ASCII transfer'
  3208.           This is where you set up the transfer protocol that is invoked
  3209.           when you select the `Upload ASCII file(s)' and `Download
  3210.           ASCII file(s)' menu items.
  3211.  
  3212.          `Type'
  3213.                You can either select `XPR library', `External program',
  3214.                `<< Default >>' or `Internal' here.
  3215.  
  3216.                `XPR library' will use an external transfer protocol
  3217.                library, such as `xprzmodem.library'. This library will
  3218.                be kept open all the time and may for example handle
  3219.                download session automatically.  For more information on
  3220.                how to use XPR libraries see Data transfer via XPR
  3221.                library.
  3222.  
  3223.                `External program' will invoke a program when necessary.
  3224.                This program has to temporarily take over serial I/O
  3225.                processing. Special facilities are available to pass
  3226.                parameters such as the name of the device driver `term'
  3227.                uses to the program. For more information on how to use
  3228.                external programs see Data transfer via external program.
  3229.  
  3230.                `<< Default >>' will use the default file transfer
  3231.                protocol.
  3232.  
  3233.                `Internal' will use the built-in ASCII transfer
  3234.                protocol. For more information see ASCII-transfer
  3235.                settings.
  3236.  
  3237.          `Send'
  3238.                This text entry field either holds the name of the XPR
  3239.                library to use or the name of the external program for
  3240.                sending ASCII data. Clicking on the select button at the
  3241.                right hand side of the text entry field will bring up
  3242.                either a file requester or another control panel to
  3243.                select the program name and to edit the program
  3244.                parameters.
  3245.  
  3246.          `Receive'
  3247.                This text entry field either holds the name of the XPR
  3248.                library to use or the name of the external program for
  3249.                receiving ASCII data.
  3250.  
  3251.          `Signature'
  3252.                Many file transfer protocols transmit characteristic
  3253.                data to the remote at the beginning of a transmission.
  3254.                This data is called a signature and when found in the
  3255.                incoming data stream `term' will automatically invoke
  3256.                the protocol in question. This is particularly useful
  3257.                with external programs. This text entry field holds the
  3258.                signature which will when received start a transfer
  3259.                using the current ASCII transfer protocol.  For more
  3260.                information on protocol signatures see Protocol
  3261.                signatures.
  3262.  
  3263.          `Edit settings...'
  3264.                Press this button to edit the settings of an XPR
  3265.                library. For an example of how these settings can look
  3266.                like, see XPR options sample.
  3267.  
  3268.     `Text transfer'
  3269.           This is where you set up the transfer protocol that is invoked
  3270.           when you select the `Upload text file(s)', `Edit & upload
  3271.           text file' and `Download text file(s)' menu items.
  3272.  
  3273.          `Type'
  3274.                You can either select `XPR library', `External program'
  3275.                or `<< Default >>' here.
  3276.  
  3277.                `XPR library' will use an external transfer protocol
  3278.                library, such as `xprzmodem.library'. This library will
  3279.                be kept open all the time and may for example handle
  3280.                download session automatically.  For more information on
  3281.                how to use XPR libraries see Data transfer via XPR
  3282.                library.
  3283.  
  3284.                `External program' will invoke a program when necessary.
  3285.                This program has to temporarily take over serial I/O
  3286.                processing. Special facilities are available to pass
  3287.                parameters such as the name of the device driver `term'
  3288.                uses to the program. For more information on how to use
  3289.                external programs see Data transfer via external program.
  3290.  
  3291.                `<< Default >>' will use the default file transfer
  3292.                protocol.
  3293.  
  3294.          `Send'
  3295.                This text entry field either holds the name of the XPR
  3296.                library to use or the name of the external program for
  3297.                sending textual data. Clicking on the select button at
  3298.                the right hand side of the text entry field will bring
  3299.                up either a file requester or another control panel to
  3300.                select the program name and to edit the program
  3301.                parameters.
  3302.  
  3303.          `Receive'
  3304.                This text entry field either holds the name of the XPR
  3305.                library to use or the name of the external program for
  3306.                receiving textual data.
  3307.  
  3308.          `Signature'
  3309.                Many file transfer protocols transmit characteristic
  3310.                data to the remote at the beginning of a transmission.
  3311.                This data is called a signature and when found in the
  3312.                incoming data stream `term' will automatically invoke
  3313.                the protocol in question. This is particularly useful
  3314.                with external programs. This text entry field holds the
  3315.                signature which will when received start a transfer
  3316.                using the current text transfer protocol.  For more
  3317.                information on protocol signatures see Protocol
  3318.                signatures.
  3319.  
  3320.          `Edit settings...'
  3321.                Press this button to edit the settings of an XPR
  3322.                library. For an example of how these settings can look
  3323.                like, see XPR options sample.
  3324.  
  3325.     `Binary transfer'
  3326.           This is where you set up the transfer protocol that is invoked
  3327.           when you select the `Upload binary file(s)' and `Download
  3328.           binary file(s)' menu items.
  3329.  
  3330.          `Type'
  3331.                You can either select `XPR library', `External program'
  3332.                or `<< Default >>' here.
  3333.  
  3334.                `XPR library' will use an external transfer protocol
  3335.                library, such as `xprzmodem.library'. This library will
  3336.                be kept open all the time and may for example handle
  3337.                download session automatically.  For more information on
  3338.                how to use XPR libraries see Data transfer via XPR
  3339.                library.
  3340.  
  3341.                `External program' will invoke a program when necessary.
  3342.                This program has to temporarily take over serial I/O
  3343.                processing. Special facilities are available to pass
  3344.                parameters such as the name of the device driver `term'
  3345.                uses to the program. For more information on how to use
  3346.                external programs see Data transfer via external program.
  3347.  
  3348.                `<< Default >>' will use the default file transfer
  3349.                protocol.
  3350.  
  3351.          `Send'
  3352.                This text entry field either holds the name of the XPR
  3353.                library to use or the name of the external program for
  3354.                sending binary data. Clicking on the select button at
  3355.                the right hand side of the text entry field will bring
  3356.                up either a file requester or another control panel to
  3357.                select the program name and to edit the program
  3358.                parameters.
  3359.  
  3360.                For your convenience, `term' will by default place the
  3361.                standard invocation command for the Hydra protocol here.
  3362.  
  3363.          `Receive'
  3364.                This text entry field either holds the name of the XPR
  3365.                library to use or the name of the external program for
  3366.                receiving binary data.
  3367.  
  3368.                For your convenience, `term' will by default place the
  3369.                standard invocation command for the Hydra protocol here.
  3370.  
  3371.          `Signature'
  3372.                Many file transfer protocols transmit characteristic
  3373.                data to the remote at the beginning of a transmission.
  3374.                This data is called a signature and when found in the
  3375.                incoming data stream `term' will automatically invoke
  3376.                the protocol in question. This is particularly useful
  3377.                with external programs. This text entry field holds the
  3378.                signature which will when received start a transfer
  3379.                using the current binary transfer protocol.  For more
  3380.                information on protocol signatures see Protocol
  3381.                signatures.
  3382.  
  3383.          `Edit settings...'
  3384.                Press this button to edit the settings of an XPR
  3385.                library. For an example of how these settings can look
  3386.                like, see XPR options sample.
  3387.  
  3388. `Use'
  3389.      Use the current settings.
  3390.  
  3391. `Default (phonebook only)'
  3392.      Drop the current settings, making a connection to the corresponding
  3393.      phone number will leave the corresponding main configuration entry
  3394.      unchanged.
  3395.  
  3396. `Cancel'
  3397.      Keep the old settings.
  3398.  
  3399.    Settings for each transfer library are saved in text files in the
  3400. `ENVARC:' and `ENV:' drawers.
  3401.  
  3402.    Leave the default transfer library set to the one you intend to use
  3403. most.
  3404.  
  3405. XPR options sample
  3406. ==================
  3407.  
  3408.    You will find an excerpt of the `xprzmodem.doc' documentation file
  3409. for the ZModem file transfer protocol below which is the default
  3410. transfer protocol `term' is shipped with. Please note that other file
  3411. transfer protocols will sport different options and controls, you
  3412. should consult the corresponding documentation for more information.
  3413.  
  3414. `Text translation mode:'
  3415.     `Y = Text Yes'
  3416.           If receiving, translate CR/LF pairs or solo CR chars to
  3417.           normal Amiga LF chars.  Ignore data past ^Z. If sending,
  3418.           suggests to receiver that they should receive this file in
  3419.           text mode.
  3420.  
  3421.     `N = Text No'
  3422.           Receive file verbatim, without changes.  If sending, suggest
  3423.           to receiver that they receive this file verbatim, without
  3424.           translations.
  3425.  
  3426.     `? = Text status unknown'
  3427.           If receiving, use sender's suggestion as to whether to do end
  3428.           of line translations or not. If sending, tell receiver to use
  3429.           default mode, since we don't know either.
  3430.  
  3431.     `C = Text mode set by Comm program'
  3432.           The library asks the communications program whether or not to
  3433.           use Text mode for each file. If the communications program
  3434.           does not support the necessary `xpr_finfo()' call, or if the
  3435.           call fails, this option acts like T?.  From the user's point
  3436.           of view, what this option normally does is set the Text mode
  3437.           to match the communications program's built-in
  3438.           text/binary/end-of-line/translation mode, if any.
  3439.  
  3440. `Overwrite mode:'
  3441.     `Y = Overwrite Yes'
  3442.           If about to receive file with same name as one which already
  3443.           exists, delete the old file and receive the new file in its
  3444.           place.
  3445.  
  3446.     `N = Overwrite No'
  3447.           If about to receive file with same name as one which already
  3448.           exists, append ".dup" onto the name of the new file to keep
  3449.           them separate.
  3450.  
  3451.     `R = Overwrite Resume'
  3452.           If about to receive file with same name as one which already
  3453.           exists, resume receiving file data from the current end of
  3454.           the existing file.
  3455.  
  3456.     `S = Overwrite Skip'
  3457.           If about to receive file with same name as one which already
  3458.           exists, skip this file, we don't want it.  Batch transfers
  3459.           will move on to the next file in the set, if any.
  3460.  
  3461. `Buffer size:'
  3462.      `xprzmodem.library' adds a layer of file I/O buffering in addition
  3463.      to whatever the comm program may or may not provide.  This option
  3464.      sets the size of XPRZModem's file I/O buffer in kilobytes.  The
  3465.      minimum value is 1 KB, for those using RAM drives or fast hard
  3466.      drives, or those whose comm programs already provide sufficient
  3467.      buffering.  The maximum value is as much contiguous RAM as you
  3468.      have available in your Amiga.  If you specify more than is
  3469.      actually available, XPRZModem will keep decrementing the buffer
  3470.      size requested by 1 KB until the memory allocation works.  That
  3471.      way, if your RAM is too fragmented to use the amount you request,
  3472.      XPRZModem simply uses the largest block available.  Buffering is
  3473.      especially helpful for floppy drive users; it keeps your drive from
  3474.      continuously gronking and slowing things down all through the
  3475.      transfer.
  3476.  
  3477.      *Additional note for `term' users: this option is practically
  3478.      replaced by the `I/O buffer size' settings in the miscellaneous
  3479.      panel (see Miscellaneous panel).*
  3480.  
  3481. `Frame size:'
  3482.      Although normally avoided, ZModem has the ability to require an
  3483.      ACK to be sent from the receiver to the sender every X-many data
  3484.      bytes.  Normally you don't want to use this feature, because not
  3485.      waiting for ACKs is part of how ZModem works so fast.  However,
  3486.      this feature can be very useful in conjunction with file I/O
  3487.      buffering on slow devices (namely those floppy drives).  If you
  3488.      set up a large I/O buffer to avoid gronking your floppy so often,
  3489.      you'll find that when the buffer finally *does* get around to
  3490.      being flushed that it can take a looonng time; so long, in fact,
  3491.      that the delay can cause timeouts and errors.  But if you set your
  3492.      ZModem to require the sender to wait for an ACK every
  3493.      buffer's-worth of data, the sender will politely wait for you to
  3494.      flush your buffer to the slow floppy and send it an ACK saying
  3495.      it's OK to continue now.  This value should be set to 0 to disable
  3496.      ACKs (normal mode), or set it to the actual number of data bytes
  3497.      allowed between ACKs.  For example, if you set the Buffer size to
  3498.      64KB because of your floppy, you should also set the Frame size to
  3499.      65536 bytes.
  3500.  
  3501. `Error limit:'
  3502.      This allows you to set the number of sequential errors which will
  3503.      be required to convince ZModem to abort the transfer.  The normal
  3504.      value is 10, meaning that 10 errors must happen in a row with no
  3505.      valid data being transferred in order to cause an abort.  This
  3506.      setting is provided for those using XPRZModem with a BBS, who may
  3507.      wish to use a relaxed setting, or those with really lousy phone
  3508.      lines who are desperate and patient enough to want the transfer to
  3509.      continue in spite of horrible performance.
  3510.  
  3511. `Auto-activate mode:'
  3512.     `Y = Auto-activate Yes'
  3513.           If the comm program supports the ability, the library will
  3514.           automatically go into receive mode when the start of a ZModem
  3515.           download is detected.
  3516.  
  3517.     `N = Auto-activate No'
  3518.           Don't try to automatically start downloading, make the user
  3519.           activate it.
  3520.  
  3521. `Delete after sending:'
  3522.     `Y = Delete Yes'
  3523.           Delete each file after it has been Successfully sent.
  3524.  
  3525.     `N = Delete No'
  3526.           Don't delete files after sending them.
  3527.  
  3528. `Keep partial files:'
  3529.     `Y = Keep Yes'
  3530.           Keep the fragment of a file received so far if file reception
  3531.           is aborted.  This allows you to use the Overwrite Resume
  3532.           option above to pick up where you left off on your next
  3533.           attempt.
  3534.  
  3535.     `N = Keep No'
  3536.           Delete any partially-received file after an aborted transfer.
  3537.  
  3538. `Send full directory path:'
  3539.     `Send path Yes'
  3540.           Send full filenames including drawer path to receiver.
  3541.  
  3542.     `Send path No'
  3543.           Send only simple filenames, not including drawer path.
  3544.  
  3545. `Default received path:'
  3546.      Store all received files in this drawer, if option "Use received
  3547.      path" is not checked.  Ignored entry if option `Use received path'
  3548.      is checked.  The path can be any valid existing drawer, with or
  3549.      without trailing `/' (e.g. `df0:', `Comm:hold', etc.).
  3550.  
  3551.      *Additional note for `term' users: the default received path option
  3552.      is ignored if the `Override transfer path' switch in the
  3553.      miscellaneous panel (see Miscellaneous panel) is enabled.*
  3554.  
  3555.    You will also find the familiar `Use' and `Cancel' buttons here which
  3556. will either keep or discard the changes you made to the settings.
  3557.  
  3558. Translation panel
  3559. =================
  3560.  
  3561.    `term' is capable of replacing any incoming and outgoing character
  3562. with custom text. This may come in handy with the numerous incarnations
  3563. of the dreaded IBM PC font. The control panel to be opened features a
  3564. large list of buttons, each single one representing a single character.
  3565. Some characters are shown with their corresponding glyphs, some with
  3566. their symbolic names and some as plain numbers. Clicking on one of the
  3567. buttons will bring up a control panel which allows setting the text to
  3568. be received by the terminal emulation when a certain character is
  3569. received and the text to be sent when a certain characters is
  3570. transmitted. Alternatively, you can press the key combination
  3571. corresponding to the character whose translation you wish to change.
  3572.  
  3573.    Both receive and send translation texts can consist of standard
  3574. command sequences (see Command sequences), except for the following
  3575. commands which are not supported:  `\a', `\c', `\d', `\g', `\i', `\p',
  3576. `\u' and `\x'.
  3577.  
  3578.    Please note that the translation does not come for free, terminal
  3579. input and output speed may suffer.
  3580.  
  3581.    As of this writing only a few translation table files (see below) are
  3582. included in the distribution. If you wish to create translation tables
  3583. for IBM doorway mode, national IBM PC style font variants, etc. feel
  3584. free to send them to me. I will try to include them in the next `term'
  3585. release.
  3586.  
  3587.    Currently included in the `term' distribution are the following
  3588. translation table files:
  3589.  
  3590. `ISO-4-(GB).prefs'
  3591.      British 7 bit (ISO code 4) character set.
  3592.  
  3593. `ISO-10-(S).prefs'
  3594.      Swedish 7 bit (ISO code 10) character set.
  3595.  
  3596. `ISO-11-(S).prefs'
  3597.      Swedish 7 bit (ISO code 11) character set.
  3598.  
  3599. `ISO-15-(I).prefs'
  3600.      Italian 7 bit (ISO code 15) character set.
  3601.  
  3602. `ISO-16-(P).prefs'
  3603.      Portuguese 7 bit (ISO code 16) character set.
  3604.  
  3605. `ISO-17-(E).prefs'
  3606.      Spanish 7 bit (ISO code 17) character set.
  3607.  
  3608. `ISO-21-(D).prefs'
  3609.      German 7 bit (ISO code 21) character set.
  3610.  
  3611. `ISO-60-(N).prefs'
  3612.      Norwegian 7 bit (ISO code 60) character set.
  3613.  
  3614. `ISO-61-(N).prefs'
  3615.      Norwegian 7 bit (ISO code 61) character set.
  3616.  
  3617. `ISO-69-(F).prefs'
  3618.      French 7 bit (ISO code 69) character set.
  3619.  
  3620. `PC-8.prefs'
  3621.      Character translation for standard IBM PC style font. If you wish
  3622.      to use these translation tables, make sure to set the `Font' type
  3623.      in the terminal panel (see Terminal panel) to `IBM PC style (raw)'.
  3624.  
  3625.    Unfortunately, there is no translation available for the Norwegian
  3626. and Danish variants of the PC-8 character set as I do not yet have a
  3627. fitting Amiga font available. Similar reasons have yet prevented to
  3628. implement PC-850 character set support.
  3629.  
  3630. Function key panel
  3631. ==================
  3632.  
  3633.    This control panel allows setting user definable texts for all ten
  3634. function keys. All texts are considered command sequences (see Command
  3635. sequences), a topic which will be covered later in this document.
  3636.  
  3637. `Modifier'
  3638.      All in all 40 keys may be covered with user defined command
  3639.      sequences (Command sequences). As the Amiga keyboard only has ten
  3640.      function-keys this button switches between the modifier keys
  3641.      (`Shift', `Control', `Alt') which, if pressed in addition which a
  3642.      function key, will execute one of the 40 command sequences.
  3643.  
  3644. `Load'
  3645.      Load the function key settings from a file.
  3646.  
  3647. `Save'
  3648.      Save the function key settings to a file.
  3649.  
  3650. `Discard'
  3651.      This discards the current settings in memory, pretending that none
  3652.      had ever been loaded, and closes the window.
  3653.  
  3654. `Use'
  3655. `Close'
  3656.      Closes the window, but keeps the settings.
  3657.  
  3658.    As the definition of the function keys with command sequences
  3659. contradicts the standard definition of the four functions keys of a
  3660. VT100 terminal, the keys `F1'-`F4', which may be executed by pressing
  3661. the `Shift' key and the approriate function-key simultaneously, are
  3662. mapped to the standard sequences for function-keys.  The user may - of
  3663. course - change these settings.
  3664.  
  3665.    If an external terminal emulation happens to be active, those
  3666. function keys the emulation has allocated for itself will be disabled
  3667. and cannot be edited.
  3668.  
  3669.    The traditional VT100 PF-keys (programmable function keys) are
  3670. mapped to the top row of the numeric keypad. Hold down the `Control'
  3671. key and press a top row key to produce the corresponding PF key code.
  3672.  
  3673. Cursor key panel
  3674. ****************
  3675.  
  3676.    This control panel both works and looks similar to the function key
  3677. panel (see Function key panel), the only difference is that it is to
  3678. assign command sequences to the cursor keys rather than to the function
  3679. keys. Displayed are the assignments for all four cursor keys and the
  3680. following buttons:
  3681.  
  3682. `Modifier'
  3683.      Any cursor key can be pressed along with one of the modifier keys
  3684.      (`Shift', `Control', `Alt'). This button will switch between the
  3685.      different assignments.
  3686.  
  3687. `Load'
  3688.      Load the cursor key settings from a file.
  3689.  
  3690. `Save'
  3691.      Save the cursor key settings to a file.
  3692.  
  3693. `Use'
  3694.      Use the current settings.
  3695.  
  3696. `Discard'
  3697.      This discards the current settings in memory, pretending that none
  3698.      had ever been loaded, and closes the window.
  3699.  
  3700. `Cancel'
  3701.      Keep the old settings.
  3702.  
  3703. Fast macro panel
  3704. ================
  3705.  
  3706.    The design and implementation of the settings to be configured in
  3707. this menu are closely related to the menu entry function key panel (see
  3708. Function key panel) discussed before. The only difference to be seen in
  3709. the fact that the fast! macros are mapped to buttons rather than
  3710. function keys (more on this topic later in this document, see Fast!
  3711. macros).
  3712.  
  3713. `Macro list'
  3714.      The list of macros entered yet, to edit one of these, select it by
  3715.      clicking the mouse button with the mouse pointer on it.
  3716.  
  3717. `Macro'
  3718.      The name of a macro by which it is listed in the fast! macro list.
  3719.  
  3720. `Macro text'
  3721.      The command sequence (see Command sequences) associated with a
  3722.      fast! macro. Command sequences are discussed later in this
  3723.      document.
  3724.  
  3725. `New'
  3726.      Appends a new macro to the list. The user may then select and
  3727.      customize it.
  3728.  
  3729. `Remove'
  3730.      Removes the currently selected macro from the list.
  3731.  
  3732. `Clear'
  3733.      Removes all the macros from list, clearing it.
  3734.  
  3735. `Load'
  3736.      Loads the macro list from a file.
  3737.  
  3738. `Save'
  3739.      Saves the macro list to a file.
  3740.  
  3741. `Discard'
  3742.      This discards the current settings in memory, pretending that none
  3743.      had ever been loaded, and closes the window.
  3744.  
  3745. `Close'
  3746.      Closes the window, but keeps the settings.
  3747.  
  3748. `|<'
  3749.      Places the currently selected macro at the top of the list.
  3750.  
  3751. `<'
  3752.      Moves the currently selected macro one entry up.
  3753.  
  3754. `>'
  3755.      Moves the currently selected macro one entry down.
  3756.  
  3757. `>|'
  3758.      Places the currently selected macro at the end of the list.
  3759.  
  3760. Hotkey panel
  3761. ============
  3762.  
  3763.    This is where the key sequences used to arrange screens and to
  3764. execute special functions are to be configured.
  3765.  
  3766. `term screen to front'
  3767.      The keys to press to bring the `term' screen to the front.
  3768.  
  3769. `Buffer screen to front'
  3770.      The keys to press to bring the screen of the text buffer to the
  3771.      front.
  3772.  
  3773. `Skip dial entry'
  3774.      As an alternative to the `Skip' button, pressing these keys will
  3775.      skip a dialing entry if the dialing function is currently active.
  3776.  
  3777. `Stop ARexx command'
  3778.      An ARexx script started from within `term' can be aborted by
  3779.      pressing these keys. Use this function only if pressing `Control +
  3780.      C' does not stop the program execution.
  3781.  
  3782. `Commodity priority'
  3783.      The commodity priority to assign this task to. You may want to
  3784.      change this value if you have more than one program running which
  3785.      uses the same key sequences as `term'. The program with the higher
  3786.      commodity priority will receive the keystrokes first.
  3787.  
  3788. `Hotkeys enabled'
  3789.      Whether the hotkeys are enabled or not can be toggled by clicking
  3790.      on this button, or by using the `Exchange' program to be found in
  3791.      the `Tools/Commodities' drawer.
  3792.  
  3793. `Load'
  3794.      Loads the hotkey settings from a file.
  3795.  
  3796. `Save'
  3797.      Saves the hotkey settings to a file.
  3798.  
  3799. `Use'
  3800.      Use the current settings.
  3801.  
  3802. `Discard'
  3803.      This discards the current settings in memory, pretending that none
  3804.      had ever been loaded, and closes the window.
  3805.  
  3806. `Cancel'
  3807.      Keep the original settings.
  3808.  
  3809.    `term' will refuse to accept invalid keyword combinations. You will
  3810. be notified by a brief screen flash/bell signal and the cursor will
  3811. reappear in the text entry field whose contents are rejected.
  3812.  
  3813. Speech panel
  3814. ============
  3815.  
  3816.    If enabled, the Amiga speech synthesizer will be used to alert the
  3817. user of certain actions, such as carrier lost, connection made, etc.
  3818. This feature makes sense if `term' is running in the background where
  3819. the user cannot see what is actually happening on the main screen. By
  3820. default this feature is disabled.
  3821.  
  3822.    *Note: speech synthesis is no longer available since Workbench v2.1
  3823. was introduced!*
  3824.  
  3825. `Rate (words/minute)'
  3826.      Speaking speed in words per minute.
  3827.  
  3828. `Pitch (Hz)'
  3829.      The greater this value, the higher the voice appears to be
  3830.      speaking.
  3831.  
  3832. `Frequency (Hz)'
  3833.      Voice frequency in Hertz.
  3834.  
  3835. `Volume'
  3836.      The volume of the voice in percent.
  3837.  
  3838. `Sex'
  3839.      Enabled female or male voice.
  3840.  
  3841. `Speech enabled'
  3842.      Toggles the activity of the speech synthesizer.
  3843.  
  3844. `Speak!'
  3845.      Speaks a small sample text, note that speech must be enabled for
  3846.      this function to work.
  3847.  
  3848. `Load'
  3849.      Loads the speech settings from a file.
  3850.  
  3851. `Save'
  3852.      Saves the speech settings to a file.
  3853.  
  3854. `Use'
  3855.      Use the current settings.
  3856.  
  3857. `Discard'
  3858.      This discards the current settings in memory, pretending that none
  3859.      had ever been loaded, and closes the window.
  3860.  
  3861. `Cancel'
  3862.      Keep the original settings.
  3863.  
  3864. Sound panel
  3865. ===========
  3866.  
  3867.    As an option `term' will associate sounds with special program
  3868. functions and events. This is where the sounds are configured:
  3869.  
  3870. `Terminal bell sound'
  3871.      The sound to be played whenever a `BEL' character is output on the
  3872.      terminal screen.
  3873.  
  3874. ``Connect' sound'
  3875.      The sound to be played when a connection is established.
  3876.  
  3877. ``Disconnect' sound'
  3878.      The sound to be played when a connection is lost.
  3879.  
  3880. ``File transfer finished' sound'
  3881.      The sound to be played when a file transfer is finished
  3882.      successfully.
  3883.  
  3884. ``File transfer failed' sound'
  3885.      The sound to be played when a file transfer is finished
  3886.      unsuccessfully.
  3887.  
  3888. `Modem `ring' sound'
  3889.      The sound to be played when the modem detects a call by a
  3890.      different modem.
  3891.  
  3892. `Modem `voice' sound'
  3893.      The sound to be played when the modem detects a phone call.
  3894.  
  3895. `Error sound'
  3896.      The sound to be played when a number of file transfer errors have
  3897.      occured (see Transfer panel).
  3898.  
  3899. `Volume'
  3900.      This slider affects the volume of all sounds produced by `term'.
  3901.      Setting it to zero suppresses sound output.
  3902.  
  3903. `Preload sound files'
  3904.      If this switch is enabled `term' will load all sound files
  3905.      immediately rather than accessing and loading them on demand. This
  3906.      may save access time when a sound is to be played but may eat up
  3907.      precious memory.
  3908.  
  3909. `Load'
  3910.      Load the sound settings from a file.
  3911.  
  3912. `Save'
  3913.      Save the sound settings to a file.
  3914.  
  3915. `Use'
  3916.      Use the current settings.
  3917.  
  3918. `Discard'
  3919.      This discards the current settings in memory, pretending that none
  3920.      had ever been loaded, and closes the window.
  3921.  
  3922. `Cancel'
  3923.      Keep the old settings.
  3924.  
  3925.    There is no fixed size limit to sound files, the amount of available
  3926. system memory matters. The sound files may be compressed, mono or
  3927. stereo files.
  3928.  
  3929.    As of Workbench 2.04 `term' will only load plain IFF-8SVX format
  3930. sound files. With Workbench 3.x any sound file can be loaded for which
  3931. there exists a datatypes class. Please note that due to an operating
  3932. system bug sound files larger than 102,400 bytes will not play
  3933. correctly under Workbench 3.0.
  3934.  
  3935. Transfer progress panel
  3936. =======================
  3937.  
  3938.    The transfer routines open an information window in which a number of
  3939. transfer parameters are displayed. Additionally, the file transfer can
  3940. be aborted by clicking either of the three buttons (`Stop entire
  3941. transfer', `Skip current file' or `Stop transfer batch').  *For most
  3942. transfer protocols all buttons have the same effect.* Consult the
  3943. documentation to see if different levels of abort are supported by your
  3944. favourite transfer protocol.
  3945.  
  3946.    The following information is displayed in the transfer window:
  3947.  
  3948. `Protocol'
  3949.      The name of the transfer protocol currently running.
  3950.  
  3951. `Information'
  3952.      A list to contain error message, the names files transferred and
  3953.      miscellaneous other messages addressed to the user. Error messages
  3954.      are printed in a special colour.
  3955.  
  3956. `File'
  3957.      The name of the file being transferred.
  3958.  
  3959. `Next file'
  3960.      The name of the next file to be sent.
  3961.  
  3962. `Space left'
  3963.      The space left on the destination device. `term' will try to
  3964.      calculate the number of blocks the file being received will take
  3965.      on the destination device and display a warning the file in
  3966.      question is probably not going to fit.
  3967.  
  3968.      *Caution: `term' only makes a very likely guess which may or may
  3969.      not come true. The guess may be wrong if the destination device
  3970.      happens to be a kind of Ram-Disk which shrinks and expands as
  3971.      memory requirements come and go. Such devices are usually 100%
  3972.      full. In most other cases you will probably be able to make room
  3973.      for the file being received before any space problem turns up.*
  3974.  
  3975. `Completion time'
  3976.      If the corresponding information is available, the point of time
  3977.      when the current file will be transferred completely.
  3978.  
  3979. `File size'
  3980.      If available, the size of the file.
  3981.  
  3982. `Bytes xfered'
  3983.      Number of bytes transferred yet.
  3984.  
  3985. `Total size'
  3986.      The total size of all files to be transferred.
  3987.  
  3988. `Total bytes xfered'
  3989.      The total number of bytes transferred yet.
  3990.  
  3991. `Files xfered'
  3992.      The number of files transferred yet and the number of files to go.
  3993.  
  3994. `Blocks xfered'
  3995.      Number of data blocks transferred yet.
  3996.  
  3997. `Characters/second'
  3998.      The effective transfer speed in characters per second.
  3999.  
  4000. `Character delay'
  4001.      The delay between two character being sent.
  4002.  
  4003. `Packet delay'
  4004.      The delay between two packets being sent.
  4005.  
  4006. `Packet type'
  4007.      A short description of the data block type employed for data
  4008.      transfer.
  4009.  
  4010. `Block check type'
  4011.      The method employed to verify the integrity of the data blocks
  4012.      being transferred (this usually is a form of cyclic redundancy
  4013.      checking).
  4014.  
  4015. `Block size'
  4016.      Size of a data block in bytes.
  4017.  
  4018. `Expected time'
  4019.      The time the transfer protocol expects the transfer will take.
  4020.  
  4021. `Elapsed time'
  4022.      The time elapsed during transfer.
  4023.  
  4024. `Number of errors'
  4025.      The number of errors occured during file transfer.
  4026.  
  4027. `Number of timeouts'
  4028.      The number of timeouts occured during file transfer.
  4029.  
  4030.    If the currently active transfer protocol provides the necessary
  4031. information, two bars will be displayed at the bottom of the transfer
  4032. window indicating the amount of transferred data and of time to go
  4033. before the transfer is finished.
  4034.  
  4035.    `term' knows about the Z-Modem data-inquiry sequence the remote
  4036. receiver issues when expecting files. If recognized, this sequence will
  4037. cause `term' to display a requester asking for the type of data upload:
  4038. text or binary. One could call this feature `auto upload'. You also have
  4039. the opportunity to select `Abort' which will transfer the ZModem abort
  4040. sequence or to click on the `Ignore' gadget which will plainly ignore
  4041. the fact that the ZModem inquiry sequence has been recognized.  *The
  4042. Z-Modem abort sequence will also be transferred if you select the
  4043. `Cancel' button in the file requester to appear after selecting text-
  4044. or binary-upload.* If the `Upload from queue' option is in effect the
  4045. contents of the transfer queue will be uploaded.
  4046.  
  4047.    *Some transfer protocols will allow you to enter a default receive
  4048. path the library is supposed to create files it receives in. On request
  4049. (see Miscellaneous panel) `term' will ignore these settings and use the
  4050. settings to be changed in the `Settings/Paths' (see Path panel) menu
  4051. instead.*
  4052.  
  4053.    Each file that is received and which does not remain empty is
  4054. examined briefly to find out about the file type. If recognized
  4055. successfully and the corresponding feature is enabled, a small comment
  4056. indicating the file type will be attached to the file. `term' currently
  4057. knows about 83 different file types.
  4058.  
  4059.    If the `term' main window is opened on the Workbench screen, you can
  4060. select and drag icons on it in order to upload the corresponding files.
  4061. A requester will be opened to ask for the upload style (either binary or
  4062. text).
  4063.  
  4064.    In case a file transfer terminates with an unrecoverable error
  4065. (*note:  the transfer protocol is responsible for reporting error
  4066. conditions to `term'*) the file transfer window will stay open until
  4067. explicitly closed by the user so the transfer error report list can be
  4068. viewed.
  4069.  
  4070. ASCII-transfer panel
  4071. ====================
  4072.  
  4073.    The built-in ASCII transfer routines as to be enabled in the
  4074. transfer panel (see Transfer panel) display transfer progress
  4075. information in a special window (note that sending and receiving will
  4076. open different windows). Here is a description of the controls and
  4077. displays:
  4078.  
  4079. `Bytes xfered'
  4080.      The number of bytes sent/received.
  4081.  
  4082. `Lines xfered'
  4083.      The number of text lines sent/received.
  4084.  
  4085. `Information'
  4086.      Transfer progress information and error display.
  4087.  
  4088. `Character delay'
  4089.      When sending text this number determines how many seconds to wait
  4090.      before sending the next character.
  4091.  
  4092. `Line delay'
  4093.      When sending text this number determines how many seconds to wait
  4094.      before sending the line-termination character (carriage return).
  4095.  
  4096. `Text pacing'
  4097.      The mode to determine how text is sent to the remote:
  4098.  
  4099.     `Direct'
  4100.           Each line will be sent without any delay.
  4101.  
  4102.     `Wait for echo'
  4103.           The program will wait for each single character sent to be
  4104.           echoed by the remote.
  4105.  
  4106.     `Wait for any echo'
  4107.           The program will wait for the remote to return any character
  4108.           in response to any character sent. Typically, this is the case
  4109.           with password prompts issued by BBSes.
  4110.  
  4111.     `Wait for line prompt'
  4112.           The program will wait until the remote sends a certain line
  4113.           prompt text.
  4114.  
  4115.     `Character/line delay'
  4116.           The program will respect the character/line delay values to
  4117.           be set using this control panel.
  4118.  
  4119.     `Keyboard delay'
  4120.           The program will send character separated by a delay to be
  4121.           determined by the current system keyboard repeat delay.
  4122.  
  4123.      *Note: the `echo' text pacing modes are to be used with greate
  4124.      care. Certain online services do not echo characters back to the
  4125.      sender as they run only in half-duplex mode.  On the other hand
  4126.      most mailbox programs will not echo certain characters, such as
  4127.      escape codes, etc.*
  4128.  
  4129. `Quiet transfer'
  4130.      This switch controls whether incoming text will be displayed in the
  4131.      terminal window. You may want to watch how the remote responds to
  4132.      the data sent/received.
  4133.  
  4134. `Skip current file'
  4135.      Stops sending the current file and proceeds to the next.
  4136.  
  4137. `Stop entire transfer'
  4138.      Stops the ASCII data transfer.
  4139.  
  4140.    In case a file transfer terminates with an unrecoverable error the
  4141. file transfer window will stay open until explicitly closed by the user
  4142. so the transfer error report list can be viewed.
  4143.  
  4144. ASCII-transfer settings
  4145. =======================
  4146.  
  4147. `Text pacing'
  4148.      The mode to determine how text is sent to the remote:
  4149.  
  4150.     `Direct'
  4151.           Each line will be sent without any delay.
  4152.  
  4153.     `Wait for echo'
  4154.           The program will wait for each single character sent to be
  4155.           echoed by the remote.
  4156.  
  4157.     `Wait for any echo'
  4158.           The program will wait for the remote to return any character
  4159.           in response to any character sent. Typically, this is the case
  4160.           with password prompts issued by BBSes.
  4161.  
  4162.     `Wait for line prompt'
  4163.           The program will wait until the remote sends a certain line
  4164.           prompt text.
  4165.  
  4166.     `Character/line delay'
  4167.           The program will respect the character/line delay values to
  4168.           be set using this control panel.
  4169.  
  4170.     `Keyboard delay'
  4171.           The program will send character separated by a delay to be
  4172.           determined by the current system keyboard repeat delay.
  4173.  
  4174.      *Note: the `echo' text pacing modes are to be used with greate
  4175.      care. Certain online services do not echo characters back to the
  4176.      sender as they run only in half-duplex mode.  On the other hand
  4177.      most mailbox programs will not echo certain characters, such as
  4178.      escape codes, etc.*
  4179.  
  4180. `Character delay'
  4181.      When sending text this number determines how many seconds to wait
  4182.      before sending the next character.
  4183.  
  4184. `Line delay'
  4185.      When sending text this number determines how many seconds to wait
  4186.      before sending the line-termination character (carriage return).
  4187.  
  4188. `Line prompt'
  4189.      The character to wait for the receiver to issue after a line of
  4190.      text is send. These character may include command sequence tokens.
  4191.  
  4192. `Send timeout'
  4193.      If the `Text pacing' mode is set to  `Wait for echo' or `Wait for
  4194.      line prompt' the maximum time to wait for echo/prompt before the
  4195.      insertion is aborted.
  4196.  
  4197. `Send CR'
  4198. `Send LF'
  4199.      These buttons determine the sequences that are sent to the remote
  4200.      if a carriage return (CR) or line feed (LF) character is to be
  4201.      transmitted.  Both characters serve as end-of-line indicators.
  4202.  
  4203.     `-'
  4204.           The character is suppressed.
  4205.  
  4206.     `<<CR>>'
  4207.           A carriage return character is sent.
  4208.  
  4209.     `<<LF>>'
  4210.           A line feed character is sent.
  4211.  
  4212.     `<<CR>><<LF>>'
  4213.           A sequence of two characters (carriage return followed by
  4214.           line feed) is sent.
  4215.  
  4216.     `<<LF>><<CR>>'
  4217.           A sequence of two characters (line feed followed by carriage
  4218.           return) is sent.
  4219.  
  4220. `Receive CR'
  4221. `Receive LF'
  4222.      These two buttons have largely the same effect as the `Send CR/LF'
  4223.      buttons, they are different in that they affect the incoming data
  4224.      rather than the data transmitted.
  4225.  
  4226. `Expand blank lines'
  4227.      Some text editors treat lines that consist only of the carriage
  4228.      return/line feed character as an indication to stop processing
  4229.      input. You can enable this switch to send an additional [Space]
  4230.      character if a line would otherwise have remained blank.
  4231.  
  4232. `Ignore data past terminator'
  4233.      With this option enabled the receiver will search for a
  4234.      termination character in the incoming data stream. If this
  4235.      character is found the transfer will be terminated.
  4236.  
  4237. `Terminator character'
  4238.      Enter the ASCII code of the terminator character to be used for
  4239.      the `Ignore data past terminator' feature here.
  4240.  
  4241. `Quiet ASCII transfer'
  4242.      If this switch is not enabled, the built-in ASCII upload/download
  4243.      routines will display the outgoing/incoming data in the terminal
  4244.      window. This option is to let you watch the progress of the file
  4245.      transfer, so that, for example, if the remote does not respond to
  4246.      the data you send, you may want to stop and restart the upload.
  4247.  
  4248. `Strip bit 8'
  4249.      If this switch is effect each character received or transmitted by
  4250.      `term' will have its high-order bit cleared.
  4251.  
  4252.    With ASCII uploads it is important to make sure that end-of-line
  4253. characters such as carriage return and line feed are properly set up
  4254. for the remote.  While on the Amiga it is common to end a line of text
  4255. with a line feed character, most editors and such expect a carriage
  4256. return character to be transferred. This can easily be arranged by
  4257. setting the `Send LF' switch to `<<CR>>'.
  4258.  
  4259. Phonebook
  4260. =========
  4261.  
  4262.    The functions described in the following can be found in the `Modem'
  4263. menu and relate to the menu entries `Phonebook', `Dial' and `Redial'.
  4264.  
  4265.    `term' is equipped with a telephone number management system, the
  4266. phonebook, which is described in the following lines.
  4267.  
  4268. `Group button'
  4269.      At the top of the window you will find button which displays the
  4270.      name of the group whose contents are displayed below in the list.
  4271.      By default, you will find the name `<< All entries >>' here, which
  4272.      indicates that not a specific group is displayed, but rather all
  4273.      entries the phonebook consists of. You can switch between groups
  4274.      by pressing the `[Tab]' key.
  4275.  
  4276. `List'
  4277.      Below the group button the list of phonebook entries belonging to
  4278.      the group in question are displayed. You can move through the list
  4279.      using the `[Cursor up]' and `[Cursor down]' keys. To tag any
  4280.      entries for dialing, hold down and `[Shift]' key and click on the
  4281.      entries using the mouse, alternatively, highlight the entry, then
  4282.      press the `[Space]' key. To untag them, repeat the procedure again.
  4283.      A double-click on a single entry will tag the entry and
  4284.      immediately start dialing.
  4285.  
  4286. `Comment display'
  4287.      For each entry you highlight its associated comment is displayed
  4288.      in the area below the list.
  4289.  
  4290. `|<'
  4291.      Press this button to move the highlighted phonebook entry to the
  4292.      beginning of the list.
  4293.  
  4294. `<'
  4295.      Press this button to move the highlighted phonebook entry one slot
  4296.      up in the list.
  4297.  
  4298. `>'
  4299.      Press this button to move the highlighted phonebook entry one slot
  4300.      down in the list.
  4301.  
  4302. `>|'
  4303.      Press this button to move the highlighted phonebook entry to the
  4304.      end of the list.
  4305.  
  4306. `All'
  4307.      To tag all entries visible in the list above, press this button.
  4308.  
  4309. `Toggle'
  4310.      This button tags all visible entries that were untagged before the
  4311.      button was pressed and untags all entries that were tagged.
  4312.  
  4313. `None'
  4314.      Press this button to untag all visible entries.
  4315.  
  4316. `Pattern'
  4317.      This button brings up another window to tag/untag entries matching
  4318.      a pattern:
  4319.  
  4320.     `Mode button'
  4321.           This is where you select if you want to untag or tag the
  4322.           entries matching the pattern below. You can press the `[Tab]'
  4323.           button to switch modes.
  4324.  
  4325.     `System name'
  4326.     `Comment'
  4327.     `Numbers'
  4328.           Any phonebook entries whose name matches this name, comment
  4329.           and number patterns will get tagged/untagged.
  4330.  
  4331.     `Apply'
  4332.           Tags/untags phonebook entries matching the pattern. The
  4333.           pattern window will stay open.
  4334.  
  4335.     `Apply+Close'
  4336.           Tags/untags phonebook entries matching the pattern and closes
  4337.           the pattern window.
  4338.  
  4339.     `Close'
  4340.           Closes the pattern window, does not tag/untag phonebook
  4341.           entries.
  4342.  
  4343. `Edit...'
  4344.      Brings up the phonebook entry editor, for more information see
  4345.      Phonebook entry panel.
  4346.  
  4347. `Dial'
  4348.      Merges all tagged entries by the order in which they were tagged
  4349.      into a list and hands it to the dialer.
  4350.  
  4351. `Copy...'
  4352.      Makes a copy of the currently highlighted phonebook entry and
  4353.      brings up the phonebook entry editor, for more information see
  4354.      Phonebook entry panel.
  4355.  
  4356. `Use'
  4357.      Copies the settings associated with the highlighted phonebook
  4358.      entry into the global program settings and closes the phonebook
  4359.      window.
  4360.  
  4361. `Add...'
  4362.      Adds a new phonebook entry and initializes it with default values,
  4363.      then brings up the phonebook entry editor, for more information
  4364.      see Phonebook entry panel.
  4365.  
  4366. `Delete'
  4367.      Removes the highlighted entry from the phonebook.
  4368.  
  4369. `Group'
  4370.      Brings up the group window:
  4371.  
  4372.     `Select group'
  4373.           From this list, pick the group you wish to add the tagged
  4374.           entries or the highlighted entry to.
  4375.  
  4376.     `Or enter group name'
  4377.           Alternatively, you may enter the name of a new group to add
  4378.           the entries to.
  4379.  
  4380.     `Use'
  4381.           If there are entries tagged, they will be added to the group
  4382.           you have specified, the group will be created if it does not
  4383.           yet exist. If no entries are tagged, the highlighted entry
  4384.           will be used instead. The group window will be closed and the
  4385.           group button and list will be updated.
  4386.  
  4387.     `Cancel'
  4388.           The group window will be closed.
  4389.  
  4390. `UnGroup'
  4391.      The currently displayed group will be deleted. This does not delete
  4392.      the entries in the group.
  4393.  
  4394. `Auto dial'
  4395.      This feature corresponds to the switch of the same name in the
  4396.      phonebook entry editor (for more information see Phonebook entry
  4397.      panel).  If enabled, `term' will put all the entries in the
  4398.      phonebook that have the `Auto dial' option set into a dialing list
  4399.      and immediately start to dial after `term' starts up.
  4400.  
  4401. `Auto exit'
  4402.      If the `Auto dial' switch is enabled, this switch will make `term'
  4403.      exit after all the entries in the auto dial list are dialled. To
  4404.      avoid exiting, hit the `Cancel' in the dialer.
  4405.  
  4406. `Load...'
  4407.      Loads the contents of a telephonebook from a file.
  4408.  
  4409. `Merge...'
  4410.      Loads phonebook entries from a file and merges them with the
  4411.      currently loaded phonebook.
  4412.  
  4413. `Save...'
  4414.      Saves the contents of a telephonebook to a file.
  4415.  
  4416. `Print...'
  4417.      This button will cause another control panel window to be opened,
  4418.      see Printing panel for more information.
  4419.  
  4420. `Sort...'
  4421.      Opens the sort window:
  4422.  
  4423.     `Criteria'
  4424.           This is where you select by which criteria the visible
  4425.           phonebook entries should be selected. `Name', `Number' and
  4426.           `Comment' should speak for themselves, `Selection' will sort
  4427.           the entries by the order of tag numbers.
  4428.  
  4429.     `Reverse order'
  4430.           Enable this switch to reverse the sort order.
  4431.  
  4432.     `Sort'
  4433.           Sorts the entries, keeps the sort window open.
  4434.  
  4435.     `Sort+Close'
  4436.           Sorts the entries and closes the sort window.
  4437.  
  4438.     `Close'
  4439.           Closes the sort window, does not sort.
  4440.  
  4441. `Copy config...'
  4442.      A lot of time can be saved by copying selected parts of the global
  4443.      configuration to a local configuration which is part of a phonebook
  4444.      entry. Selecting this button will invoke a control panel which
  4445.      allows to select which parts of the global configuration should be
  4446.      copied. The control panel also remembers which parts were copied
  4447.      when it was invoked the last time, see Copy panel for more
  4448.      information.
  4449.  
  4450. Phonebook entry panel
  4451. =====================
  4452.  
  4453. `System name'
  4454.      This is where you pick the name under which this entry should show
  4455.      up in the list.
  4456.  
  4457. `Comment'
  4458.      A comment to associate with the entry, it will be displayed in the
  4459.      main window below the list.
  4460.  
  4461. `Numbers'
  4462.      The telephone numbers of the entry.
  4463.  
  4464.      If a system supports multiple lines, the phone number of each line
  4465.      may be entered, each one separated by a vertical bar `|' character
  4466.      (example: `123456|654321' would cause the dialing routine to dial
  4467.      the numbers `123456' and `654321'). The dialing routine will
  4468.      process all these phone numbers before proceeding to the next
  4469.      phonebook entry.
  4470.  
  4471.      The `|' character also works for the modem init, modem exit and
  4472.      dial prefix sequences. Whenever the dialing routine dials another
  4473.      phone number from a list separated by bars, it will try to find a
  4474.      matching init/exit/dial prefix sequence. If more phone numbers are
  4475.      specified than sequences are available, it will use the last
  4476.      sequence given (an example:  a phone number may be given as
  4477.      `123456|654321|12345', the dial prefix text may be `ATDP|ATDT';
  4478.      the dialing routine will call the first number using `ATDP123456',
  4479.      the second number using `ATDT654321' and the third number, since
  4480.      no special dial prefix is available, again using `ATDT12345').
  4481.  
  4482.      *Note: if you do not enter a phone number you will be unable to
  4483.      use the entry for dialing.*
  4484.  
  4485. `Quick menu'
  4486.      If this switch is in effect, the corresponding phonebook entry will
  4487.      be put into the `quick dialing menu' (see at the right hand side
  4488.      of the main menu). Selecting the menu entry will dial the
  4489.      corresponding phone number. Note: only up to 50 phone numbers can
  4490.      be put into the list.
  4491.  
  4492. `Auto dial'
  4493.      Marks this entry for auto dialing. For more information on this
  4494.      feature, see Phonebook.
  4495.  
  4496. `Hide'
  4497.      If this switch is enabled, the contents of the `User name' and
  4498.      `Login password' text entry fields below will be obscured. If you
  4499.      wish to edit these, you must disable this switch.
  4500.  
  4501. `User name'
  4502. `Login password'
  4503.      Here you can store information to be used later for login scripts
  4504.      and such.
  4505.  
  4506. `Settings'
  4507.      This group contains entries which consist of a checkbox and a
  4508.      button.  If the button is disabled, the phonebook entry will not
  4509.      use the settings controlled by the button.
  4510.  
  4511.      This concept is central to how the phonebook works and stores,
  4512.      which is why it needs a bit more explanation.
  4513.  
  4514.      When you start up `term', it loads its global configuration data
  4515.      from a certain file. This global configuration normally reflects
  4516.      the most frequently used settings, they do not necessarily need to
  4517.      change between different phonebook entries. For example, if you
  4518.      only use one modem the modem settings will probably be the same
  4519.      for all phonebook entries. If it's the same, disable the checkbox
  4520.      corresponding to the modem settings in every phonebook entry.
  4521.      Repeat for every other settings item that never needs to change.
  4522.      When the dialer eventually makes a connection, it copies all the
  4523.      settings items of the entry it has connected to into the global
  4524.      configuration that have the checkboxes enabled. If you want to use
  4525.      special settings for a phonebook entry, enable the checkbox you
  4526.      want, press the button next to it and edit the settings.
  4527.  
  4528. `|<'
  4529.      Moves to the first tagged entry.
  4530.  
  4531. `<'
  4532.      Moves to the previous tagged entry.
  4533.  
  4534. `>'
  4535.      Moves to the next tagged entry.
  4536.  
  4537. `>|'
  4538.      Moves to the last tagged entry.
  4539.  
  4540. `Close'
  4541.      Closes the edit window.
  4542.  
  4543. Rate panel
  4544. ==========
  4545.  
  4546.    `term' will count the minutes you are online and connected to a BBS
  4547. as soon as a connection is made through the dialing routine. As soon as
  4548. the connection is lost or you hang up, `term' will use the information
  4549. to be specified in this control panel to calculate the amount of money
  4550. to be paid for the call.
  4551.  
  4552. `Pay/unit'
  4553.      The amount of money to be paid for each single time unit when
  4554.      online.  This fee must be given in the smallest currency unit
  4555.      available (pence, cents, centimes, etc.).
  4556.  
  4557. `Sec./unit'
  4558.      This is where you enter how many seconds each time unit lasts.
  4559.  
  4560.    There are two different groups of the two entries listed above
  4561. available:  one for the first unit and one for all following units. So,
  4562. if you only pay for the call you make but not for the time you spend
  4563. making it, just enter the fee in the first group and set the second
  4564. group to zero.
  4565.  
  4566. `Days and dates'
  4567.      This list contains the default rate settings and exceptions for
  4568.      certain dates and days of the week. Each line displays the type of
  4569.      the entry and a comment (separated by the `>>' character). The
  4570.      following types are available:
  4571.  
  4572.     `Day(s)'
  4573.           Settings for certain days of the week
  4574.  
  4575.     `12. Jan (example)'
  4576.           Settings for a specific date
  4577.  
  4578.      If there is no special type available for an entry, it's probably
  4579.      the default settings you are dealing with. These settings are used
  4580.      whenever `term' cannot find an entry for the current day.
  4581.  
  4582.    For each entry in this list there is at least one associated starting
  4583. time available which defines when the associated rate settings are to be
  4584. used. You will find the time settings in the list titled `Time'. To add
  4585. a new time use the `Add' button. To edit an existing entry use the
  4586. `Edit' button. To remove an entry, press the `Remove' button.
  4587.  
  4588. `Add date'
  4589.      Will invoke a control panel to create a new rate entry to be used
  4590.      on a specific date. Use the sliders and button to select the day
  4591.      the settings will be valid for.
  4592.  
  4593. `Add day(s)'
  4594.      Will create a new rate entry referring to one or more days of the
  4595.      week.  Use the buttons of the control panel to select the days the
  4596.      current settings will be valid for.
  4597.  
  4598. `Import'
  4599.      Much work can be saved if the rate settings for the current
  4600.      phonebook entry are imported (or copied) from a different
  4601.      phonebook entry. To do so, select this button. The control panel
  4602.      to be opened will display the list of phonebook entries available
  4603.      and three buttons:
  4604.  
  4605.     `Replace rates'
  4606.           The rate settings of the current phonebook entry will be
  4607.           replaced by the settings of the selected entry.
  4608.  
  4609.     `Append rates'
  4610.           The rate settings of the selected entry will be appended to
  4611.           the current phonebook entry.
  4612.  
  4613.     `Cancel'
  4614.           Will abort the selection.
  4615.  
  4616.    Whenever a rate entry is selected, the corresponding parameters
  4617. (`Pay/unit' and `Sec./unit') can be edited. If the entry refers to a
  4618. certain date or a specific day of week three additional buttons are
  4619. made available:
  4620.  
  4621. `Edit'
  4622.      Just as the labels says, will allow you to modify an entry after
  4623.      it has been created.
  4624.  
  4625. `Clone'
  4626.      Will duplicate the current rate entry and append it to the list.
  4627.  
  4628. `Remove'
  4629.      Removes an entry from the list.
  4630.  
  4631. Copy panel
  4632. ==========
  4633.  
  4634.    This control panel allows you to select which parts of the global
  4635. configuration to copy into the currently selected phonebook entry.
  4636.  
  4637. `To all entries'
  4638.      The selected parts will be copied to all phonebook entries. If any
  4639.      phonebook entries are selected when this action is to be performed,
  4640.      only the selected entries will be affected.
  4641.  
  4642. `Copy'
  4643.      This is where you select from which source the configuration
  4644.      information will be copied:
  4645.  
  4646.     `Global configuration'
  4647.           Parts of the currently active global configuration will be
  4648.           copied.
  4649.  
  4650.     `Defaults'
  4651.           When going online, instead of overriding the currently active
  4652.           global configuration with the supplied local phonebook
  4653.           configuration the corresponding global configuration will be
  4654.           left unchanged.
  4655.  
  4656. `Select all'
  4657.      Selects all parts.
  4658.  
  4659. `Clear all'
  4660.      Clears the current selection.
  4661.  
  4662. `Use'
  4663.      Copies the selected items.
  4664.  
  4665. `Cancel'
  4666.      The window is closed, no items are copied.
  4667.  
  4668. Dial panel
  4669. ==========
  4670.  
  4671.    The following information about the dialing process is displayed:
  4672.  
  4673. `Calling'
  4674.      The name of the telephonebook entry belonging to the number being
  4675.      dialled. If it is just a telephone number the text `<< Unknown >>'
  4676.      is shown, indicatinging that the name of the BBS is unknown.
  4677.  
  4678. `Comment'
  4679.      This is where the comment corresponding to the current dialing list
  4680.      entry is displayed.
  4681.  
  4682. `Number'
  4683.      The telephone number being dialed or just dialed.
  4684.  
  4685. `Next'
  4686.      The name of the phonebook entry which will be processed next if no
  4687.      connection is established. If no further entry exists, "-" will be
  4688.      displayed.
  4689.  
  4690. `Timeout'
  4691.      A counter which is decreased every second and which reflects the
  4692.      time remaining to establish a connection or to cycle through the
  4693.      dial queue again.
  4694.  
  4695. `Attempt'
  4696.      This field shows the number of unsuccessful cycles made through the
  4697.      dialing queue to establish a connection.
  4698.  
  4699. `Message'
  4700.      A message to the user. This can be:
  4701.  
  4702.     `Dialing...'
  4703.           A dial is in process.
  4704.  
  4705.     `Line is busy.'
  4706.           The dialed number is engaged.
  4707.  
  4708.     `Incoming call!'
  4709.           The modem has been called from another modem.
  4710.  
  4711.     `Incoming voice call!'
  4712.           The modem is receiving a call which was not originated by
  4713.           another modem.
  4714.  
  4715.     `No dialtone detected!'
  4716.           The modem was unable to detect any dialing tone on the line,
  4717.           it may possibly be not connected.
  4718.  
  4719.     `Connection established.'
  4720.           Just as the name says...
  4721.  
  4722.     `Maximum number of dial retries reached!'
  4723.           Just as the name says...
  4724.  
  4725.     `Dial attempt timeout.'
  4726.           The time available to establish a connection has been reached
  4727.           or exceeded.
  4728.  
  4729.     `Redial Delay...'
  4730.           Pause until the next cycle through the dialing queue.
  4731.  
  4732.    Additionally, the following controls are available:
  4733.  
  4734. `Skip'
  4735.      With this function the current dialing attempt is cancelled and
  4736.      the next number is processed. If no succeeding telephone number
  4737.      exists `term' waits for the next cycle through the dial queue or
  4738.      until `Skip call' is pressed again.
  4739.  
  4740.      There also is a hotkey combination available to accomplish the same
  4741.      task.
  4742.  
  4743. `Remove'
  4744.      This button works in part similar to the `Skip call' button.
  4745.      Additionally, it removes the current phonebook entry from the
  4746.      dialing list.
  4747.  
  4748. `Go to online'
  4749.      If the line is very noisy, the connection to a mailbox may have
  4750.      been made, but the `CONNECT' text may be got lost. Pressing this
  4751.      button will cause `term' to assume that the modem is in fact
  4752.      online now, start the rates accounting and return you to the main
  4753.      window.
  4754.  
  4755. `Stop dialing'
  4756.      Operation of this button exits the dial queue (leaving the the dial
  4757.      queue intact) and ends the dialing process.
  4758.  
  4759. `Start script recording on connection'
  4760.      As soon as the connection is establish `term' will start recording
  4761.      incoming text and your responses to it, thus making it possible to
  4762.      create auto-login scripts and such. For more information on this
  4763.      topic see Script recording.
  4764.  
  4765. `Skip login macro'
  4766.      After the connection is established, `term' will not execute the
  4767.      login macro if this switch is enabled.
  4768.  
  4769.    If a connection is successfully made the corresponding entry in the
  4770. dial queue will be removed.
  4771.  
  4772.    Selecting the close gadget will close the window and cause the phone
  4773. book panel to be reopened.
  4774.  
  4775. Printing panel
  4776. ==============
  4777.  
  4778.    This control panel is part of the phonebook. It is opened whenever
  4779. the `Print' button is selected and allows for setting the output
  4780. options.
  4781.  
  4782. `Output file or device'
  4783.      This is where you enter the name of the file or device (such as
  4784.      `PRT:') the phonebook printout is to be sent to.
  4785.  
  4786. `Plain text'
  4787.      If enabled only the plain and bare information text will be
  4788.      printed, else text attribute control sequences will be sent as
  4789.      well.
  4790.  
  4791. `Include...'
  4792.      Each switch determines whether the corresponding phonebook entry
  4793.      information will be included in the printout.
  4794.  
  4795. `Use'
  4796.      Will start printing the phonebook contents.
  4797.  
  4798. `Cancel'
  4799.      Returns to the phonebook.
  4800.  
  4801. Trap panel
  4802. ==========
  4803.  
  4804.    By default `term' scans the input data stream for a set of special
  4805. character sequences, such as `NO CARRIER', `RING' and `VOICE',
  4806. depending on how your modem settings (see Modem panel) are set up. The
  4807. trap panel permits adding custom character sequences which if found
  4808. cause `term' to execute the corresponding command sequences (see
  4809. Command sequences).  This makes it possible to write auto-login
  4810. procedures by just adding traps for the user name and password prompts.
  4811. For example, suppose your BBS prompts you to enter your user name with
  4812. the text `User name:' and to enter your password with the text
  4813. `Password:'. You would create two trap entries, one with `User name:'
  4814. as the sequence and `\u\r' as the command and one with `Password:' as
  4815. the sequence and `\p\r' as the command. Provided the phonebook entry is
  4816. set up correctly (see Phonebook, User/Password) connecting to the
  4817. system will log you in `automatically'.
  4818.  
  4819.    The trap settings editor consists of the following controls:
  4820.  
  4821. `Trap list'
  4822.      This list contains all the trap sequences `term' knows.
  4823.  
  4824. `Sequence'
  4825.      This text entry field contains the currently selected sequence.
  4826.  
  4827. `Command'
  4828.      This text entry field contains the command sequence (see Command
  4829.      sequences) to be executed when the corresponding trap sequence is
  4830.      found.
  4831.  
  4832. `|<'
  4833.      Move the currently selected entry to the beginning of the list.
  4834.  
  4835. `<'
  4836.      Move the currently selected entry up in the list.
  4837.  
  4838. `>'
  4839.      Move the currently selected entry down in the list.
  4840.  
  4841. `>|'
  4842.      Move the currently selected entry to the end of the list.
  4843.  
  4844. `New'
  4845.      A new trap list entry is added, prompting you to edit it.
  4846.  
  4847. `Remove'
  4848.      Removes the currently selected list entry
  4849.  
  4850. `Clear'
  4851.      Removes all entries from the list, clearing it.
  4852.  
  4853. `Discard'
  4854.      This discards the current settings in memory, pretending that none
  4855.      had ever been loaded, and closes the window.
  4856.  
  4857. `Use'
  4858.      Closes the window, using the current trap settings.
  4859.  
  4860. `Load'
  4861.      Loads the trap settings from a file.
  4862.  
  4863. `Save'
  4864.      Stores the trap settings in a file. *Note: `term' reads the
  4865.      default settings from the file *trap.prefs*, so make sure your
  4866.      trap settings are named accordingly if you wish to use them upon
  4867.      startup*.
  4868.  
  4869. File upload panel
  4870. =================
  4871.  
  4872.    `term' permits building a list of files to upload before the upload
  4873. is started. This list can be built in many ways, such as by dropping
  4874. the icons of the files to send on the icon labeled `term Upload queue',
  4875. by dropping the icons on the upload panel window, by entering the names
  4876. of the files in the upload panel window or by using the file requester.
  4877.  
  4878.    There are two ways to open the file upload panel. You can
  4879. double-click on the `term Upload queue' icon or use the main menu entry
  4880. `Upload queue'. It includes the following controls:
  4881.  
  4882. `Files to upload'
  4883.      This is the list of files to be sent. The text entry field below
  4884.      serves to add new file names or to edit the currently selected
  4885.      file name.
  4886.  
  4887. `Add files'
  4888.      Clicking on this button brings up a file requester to add new
  4889.      files to the list. You can select files from one drawer at a time.
  4890.      The file requester will pop up over and over again asking you to
  4891.      add more files until you press the `Done' button.
  4892.  
  4893. `Add'
  4894.      Click on this button to add another file name to the list, you
  4895.      will be prompted to type in its name.
  4896.  
  4897. `Remove'
  4898.      Press this button to remove the currently selected entry from the
  4899.      list.
  4900.  
  4901. `Clear'
  4902.      In order to remove all entries from the list, clearing it, press
  4903.      this button.
  4904.  
  4905. `Binary upload'
  4906.      Use this button to upload the listed files in binary mode.
  4907.  
  4908. `Text upload'
  4909.      Press this button to upload the listed files in text mode.
  4910.  
  4911. `Hide'
  4912.      Click on this button to hide the file upload panel. The list
  4913.      contents will be stored.
  4914.  
  4915. Area code panel
  4916. ===============
  4917.  
  4918.    In the phonebook (see Phonebook) phone rate accounting information
  4919. can be assigned to individual entries. The area code panel permits to
  4920. assign phone rate accounting information to the phone numbers
  4921. themselves, so even the `Dial phone number' menu function will take
  4922. advantage of it.  The area codes in each phone number determine the
  4923. rates accounting information to associate with it. In the area code
  4924. list you assign a name to each entry and a pattern to match a single or
  4925. multiple area codes; next you configure the rates parameters to use for
  4926. this entry.
  4927.  
  4928.    The area code rates accounting settings are not meant to replace the
  4929. individual rates settings in the phonebook, but they have priority over
  4930. them.
  4931.  
  4932.    The area code panel sports the following controls:
  4933.  
  4934. `Groups'
  4935.      This is the list of area code groups, the single entries are
  4936.      edited below.
  4937.  
  4938. `Name'
  4939.      A name or title for an area group entry.
  4940.  
  4941. `Pattern'
  4942.      The area code patterns are configured here. If you wish to have an
  4943.      entry correspond to area codes starting with `009' you would enter
  4944.      `009#?' here. The pattern syntax follows the AmigaDOS wildcard
  4945.      pattern syntax, so for example multiple area codes can be easily
  4946.      combined, e.g. `009' and `007' could be combined as `(009|007)#?'.
  4947.      See your `Using the system software' manual for more information.
  4948.  
  4949.      `term' scans the area code list top-down, i.e. for two consecutive
  4950.      entries `009#?' and `0097#?' the number `00971324' would match the
  4951.      first entry, but not the second.
  4952.  
  4953. `|<'
  4954.      Moves the currently selected entry to the beginning of the list.
  4955.  
  4956. `<'
  4957.      Moves the currently selected entry up in the list.
  4958.  
  4959. `>'
  4960.      Moves the currently selected entry down in the list.
  4961.  
  4962. `>|'
  4963.      Moves the currently selected entry to the end of the list.
  4964.  
  4965. `New'
  4966.      Creates a new area code entry and prompts you to edit it.
  4967.  
  4968. `Remove'
  4969.      Removes the currently selected area code entry from the list.
  4970.  
  4971. `Clear'
  4972.      Removes all area code entries from the list, clearing it.
  4973.  
  4974. `Edit'
  4975.      Brings up the rates editing window for the currently selected
  4976.      entry. See Rate panel for more information.
  4977.  
  4978. `Discard'
  4979.      This discards the current settings in memory, pretending that none
  4980.      had ever been loaded, and closes the window.
  4981.  
  4982. `Use'
  4983.      Closes the window, keeps the current settings.
  4984.  
  4985. `Load'
  4986.      Loads the area code & rates accounting information from a file.
  4987.  
  4988. `Save'
  4989.      Saves the area code & rates accounting information to a file.
  4990.      Upon startup `term' will read the default area code & rates
  4991.      accounting information from a file named `rates.prefs', so make
  4992.      sure that your settings file is named correctly for `term' to find
  4993.      it.
  4994.  
  4995. Parameter panel
  4996. ===============
  4997.  
  4998.    When `term' invokes an external program which is to handle the job
  4999. of transferring files it can pass special parameters to the program on
  5000. the command line, such as drawer names. This control panel helps you to
  5001. build a command line for the program in question.
  5002.  
  5003. `Command'
  5004.      This is where you enter the command to invoke, such as `run
  5005.      hydracom'.
  5006.  
  5007. `1 File'
  5008.      This adds `%f' to the command line. When the program is invoked a
  5009.      file requester will prompt you to select one single file. Its name
  5010.      will appear in place of the `%f' characters in the list of
  5011.      arguments passed to the program.
  5012.  
  5013. `Files'
  5014.      This adds `%m' to the command line. When the program is invoked a
  5015.      file requester will prompt you to select a list of files. Their
  5016.      names will appear in place of the `%m' characters in the list of
  5017.      arguments passed to the program.
  5018.  
  5019. `Port'
  5020.      This adds `%p' to the command line. When the program is invoked
  5021.      the name of the ARexx port `term' uses will appear in place of the
  5022.      `%p' characters in the list of arguments passed to the program.
  5023.  
  5024. `Device'
  5025.      This adds `%d' to the command line. When the program is invoked
  5026.      the name of the serial device driver `term' uses (see Serial
  5027.      panel) will appear in place of the `%d' characters in the list of
  5028.      arguments passed to the program.
  5029.  
  5030. `Unit'
  5031.      This adds `%u' to the command line. When the program is invoked
  5032.      the unit number of the serial device driver `term' uses (see
  5033.      Serial panel) will appear in place of the `%u' characters in the
  5034.      list of arguments passed to the program.
  5035.  
  5036. `Source'
  5037.      This adds `%<' to the command line. When the program is invoked
  5038.      the name of the drawer files to send should be found in (see Path
  5039.      panel) will appear in place of the `%<' characters in the list of
  5040.      arguments passed to the program.
  5041.  
  5042. `Dest.'
  5043.      This adds `%>' to the command line. When the program is invoked
  5044.      the name of the drawer files should be placed in when received
  5045.      (see Path panel) will appear in place of the `%>' characters in
  5046.      the list of arguments passed to the program.
  5047.  
  5048. `Screen'
  5049.      This adds `%s' to the command line. When the program is invoked
  5050.      the name of the public screen `term' uses (see Screen panel) will
  5051.      appear in place of the `%s' characters in the list of arguments
  5052.      passed to the program. *Please note that instead of the name of a
  5053.      screen an empty string may appear.*
  5054.  
  5055. `BPS rate'
  5056.      This adds `%b' to the command line. When the program is invoked
  5057.      the currently selected BPS rate (see Serial panel) `term' uses
  5058.      will appear in place of the `%b' characters in the list of
  5059.      arguments passed to the program.
  5060.  
  5061. `Connect. rate'
  5062.      This adds `%c' to the command line. When the program is invoked
  5063.      the BPS rate the modem made the connection with will appear in
  5064.      place of the `%c' characters in the list of arguments passed to
  5065.      the program. *Please note that if the modem is not currently
  5066.      online `%c' will produce the same number `%b' does.*
  5067.  
  5068. `Use'
  5069.      Keeps the current settings.
  5070.  
  5071. `Cancel'
  5072.      Discards the current settings.
  5073.  
  5074.    For more information on the escape sequences introduced by `%' see
  5075. Escape sequences.
  5076.  
  5077. Signature panel
  5078. ***************
  5079.  
  5080.    `term' will let you choose from a number of predefined signatures
  5081. for use with file transfer protocols. Just pick the signature you need.
  5082. Please note that different signatures will be presented for upload and
  5083. download protocols.  For more information on signatures, see Protocol
  5084. signatures.
  5085.  
  5086. Data transfer
  5087. *************
  5088.  
  5089.    One of the important features `term' offers are means to transfer
  5090. data from one computer to another conveniently. This is accomplished by
  5091. using so-called XPR libraries and external programs which `term' will
  5092. invoke when necessary.
  5093.  
  5094. Data transfer via XPR library
  5095. =============================
  5096.  
  5097.    The so-called XPR libraries implement one or more file transfer
  5098. protocols in the form of an Amiga shared library. They offer a
  5099. standardized interface for settings their protocol options and for
  5100. transferring data. Some XPR libraries will handle file transfers all on
  5101. their own, e.g. if the remote initiates an upload the XPR library will
  5102. respond by automatically starting a download.
  5103.  
  5104.    Of particular importance is the `Default protocol' (see Transfer
  5105. panel).  If you have selected an XPR library for this protocol, the
  5106. library will remain open during the entire `term' session. For the
  5107. Z-Modem protocol as implemented through `xprzmodem.library' this means
  5108. that the XPR library will automatically handle downloads when initiated
  5109. by the remote.
  5110.  
  5111. Data transfer via external program
  5112. ==================================
  5113.  
  5114.    `term' can make use of external programs for the purpose of
  5115. transferring data. Whenever the corresponding file transfer function is
  5116. invoked, `term' will try to run the selected program. While the program
  5117. is running `term' will temporarily halt its serial I/O processing, so
  5118. programs which permit sharing the serial device driver with `term' can
  5119. immediately pick up the ball and start transferring data. Please note
  5120. that this feature requires `term' to open the serial device driver in
  5121. shared access mode (see Serial panel).
  5122.  
  5123.    Almost every external program will need a few command line options to
  5124. know its whereabouts, such as the serial device driver to use or which
  5125. files to transfer. You can provide this information by editing the
  5126. command line (see Parameter panel) to include special escape sequences
  5127. `term' will expand into data. The following line could be put into the
  5128. binary `Receive' text entry field:
  5129.  
  5130.      run hydracom device %p speed %b line %c nocarrier rec %> get
  5131.  
  5132.    This will invoke the `Hydracom' program which implements the Hydra
  5133. protocol which sports bidirectional file transfer and also adds a chat
  5134. option. This is what the line can expand into when `term' runs the
  5135. program:
  5136.  
  5137.      run hydracom device TERM speed 38400 line 14400
  5138.         nocarrier rec Work:Downloads get
  5139.  
  5140.    `%p' expands into the ARexx port name `term' uses, `%b' into the BPS
  5141. rate currently used, `%c' into the BPS rate the modem made the
  5142. connection with and `%>' into the name of the drawer files received
  5143. should be placed in.
  5144.  
  5145.    To complete this example, the following line could be put into the
  5146. binary `Send' text entry field:
  5147.  
  5148.      run hydracom device %p speed %b line %c nocarrier rec %> send %m
  5149.  
  5150.    When `term' runs this program, it will first prompt you to select the
  5151. files to send, this is what `%m' does. The files names will then appear
  5152. in place of the `%m' characters.
  5153.  
  5154.    For more information on the escape sequences introduced by the `%'
  5155. character, see Escape sequences.
  5156.  
  5157.    Please note that for `term' to find the external programs they must
  5158. either reside in the AmigaDOS Shell search path or need to be prefixed
  5159. by the complete AmigaDOS path their are located in.
  5160.  
  5161.    `term' runs the programs in synchronous fashion. Some protocols, such
  5162. as `hydracom', however need to be run asynchronously. For such programs
  5163. it is recommended to prefix the command line with the `run' command.
  5164.  
  5165. Protocol signatures
  5166. ===================
  5167.  
  5168.    Some file transfer protocols sport automatic download and upload
  5169. functions.  At the beginning of a data transmission they send a special
  5170. data sequence to the remote, indicating that the local side is ready
  5171. for action. This data is called a signature. With `term' you can assign
  5172. a specific signature to each upload and download protocol (see Transfer
  5173. panel). When `term' sees this signature in the incoming data stream the
  5174. corresponding protocol will be invoked.
  5175.  
  5176.    A signature usually consists of a unique sequence of characters,
  5177. some of which may not be printable or visible on the screen. This is
  5178. why the standard command sequence syntax is employed for entering
  5179. signature text (see Command sequences).
  5180.  
  5181.    You should avoid using a single signature for more than one
  5182. protocol. As `term' scans the input data stream it will always invoke
  5183. the first protocol which sports a matching signature. Signatures are
  5184. scanned in the following order:
  5185.  
  5186.    `Default protocol (upload)'
  5187.  
  5188.    `Default protocol (download)'
  5189.  
  5190.    `ASCII upload'
  5191.  
  5192.    `ASCII download'
  5193.  
  5194.    `Text upload'
  5195.  
  5196.    `Text download'
  5197.  
  5198.    `Binary upload'
  5199.  
  5200.    `Binary download'
  5201.  
  5202.    Most transfer protocols use different signatures for uploads and
  5203. downloads.  Hydra for example is an exception as it uses the same
  5204. signature for both purposes. Take care, it is recommended to use the
  5205. Hydra signature only for downloads. Some signatures, such as the
  5206. CompuServe Quick B protocol, use very simple signatures which consist
  5207. only of a single character. In the case of the Quick B protocol this
  5208. would be the `ENQ' character which is easily generated by spurious line
  5209. noise. In this case the protocol may start up expecting a file transfer
  5210. and find out rather soon that none is taking place. Although single
  5211. character signatures are supported it is recommended not to use them.
  5212.  
  5213.    Some XPR libraries implement auto-upload and auto-download functions
  5214. all on their own. A common feature is that the signatures that trigger
  5215. these functions will not turn up in the input data stream `term'
  5216. receives as the protocols will filter them out. Consequently, the
  5217. `term' supplied protocol auto-invocation may not work. Be prepared to
  5218. handle this.
  5219.  
  5220. Escape sequences
  5221. ================
  5222.  
  5223.    When invoking external programs to use for transferring data `term'
  5224. will build a command line based upon the template given in the transfer
  5225. settings editor (see Transfer panel). This template can include special
  5226. tokens, known as escape sequences. Unlike the so-called command
  5227. sequences (see Command sequences) they are introduced by a percent
  5228. character (%) and can only be used with external file transfer
  5229. programs. Please note that you cannot mix command sequences with escape
  5230. sequences.
  5231.  
  5232.    The following escape sequences are supported:
  5233.  
  5234. `%f (Single file name)'
  5235.      Inserts a single file name when the program is run. A file
  5236.      requester will open if necessary. If there are still files in the
  5237.      upload queue (see File upload panel) and an upload is to take place
  5238.      the first file name will be inserted and no file requester will
  5239.      appear.
  5240.  
  5241.      *Note: Case matters; %f inserts the file name along with its
  5242.      complete path, %F inserts the plain file name only, omitting the
  5243.      path.*
  5244.  
  5245. `%m (Multiple file names)'
  5246.      Inserts a list of file names when the program is run. A file
  5247.      requester will open if necessary. If there are still files in the
  5248.      upload queue (see File upload panel) and an upload is to take place
  5249.      their names will be inserted and no file requester will appear.
  5250.  
  5251.      *Note: Case matters; %m inserts the file names along with their
  5252.      complete paths, %M inserts the plain file names only, omitting
  5253.      their paths.*
  5254.  
  5255. `%p (Port name)'
  5256.      Inserts the ARexx port name `term' is currently using.
  5257.  
  5258. `%d (Device name)'
  5259.      Inserts the name of the serial device driver `term' is currently
  5260.      using (see Serial panel).
  5261.  
  5262. `%u (Unit number)'
  5263.      Inserts the unit number of the serial device driver `term' is
  5264.      currently using (see Serial panel).
  5265.  
  5266. `%< (Source drawer)'
  5267.      Inserts the name of the drawer files to be uploaded should be
  5268.      found in. This name will be different for ASCII, text and binary
  5269.      transfers. The default protocol will always use the binary upload
  5270.      path (see Path panel and Transfer panel).
  5271.  
  5272. `%> (Destination drawer)'
  5273.      Inserts the name of the drawer files to be received should be
  5274.      placed in. This name will be different for ASCII, text and binary
  5275.      transfers. The default protocol will always use the binary
  5276.      download path (see Path panel and Transfer panel).
  5277.  
  5278. `%s (Screen name)'
  5279.      Inserts the name of the public screen `term' is using.
  5280.  
  5281.      *Note: This may be an empty string. Be prepared to handle this.*
  5282.  
  5283. `%b (BPS rate)'
  5284.      Inserts the BPS rate `term' is currently using (see Serial panel).
  5285.  
  5286. `%c (Connection rate)'
  5287.      Inserts the BPS rate the modem made the connection with.
  5288.  
  5289.      *Note: This value may be the same as given by %b if the modem is
  5290.      not currently online.*
  5291.  
  5292. `%% (Percent sign)'
  5293.      Inserts the percent sign.
  5294.  
  5295. How to set up Hydracom?
  5296. =======================
  5297.  
  5298.    In case you don't know already what Hydracom is: it is a
  5299. bidirectional file transfer protocol which also sports a chat option.
  5300. It permits to send and receive data at the same time. So far, Hydracom
  5301. versions exist for the IBM-PC, the Atari ST and the Amiga of course.
  5302.  
  5303.    With the introduction of `term' v4.0 an interface was added to the
  5304. Hydracom Amiga port to allow it to take over the serial I/O processing
  5305. from `term'. Note that this requires the Hydracom Amiga port revision 2
  5306. or higher to work.
  5307.  
  5308.    `term' v4.3 will let you choose external programs for use as file
  5309. transfer protocols. Hydracom falls into this cathegory.
  5310.  
  5311.    Please open the transfer settings editor (see Transfer panel) now
  5312. and press the button labeled `Page' three times until the page `Binary
  5313. transfer protocol' becomes visible. This page is divided into two
  5314. parts. The top half controls the upload protocol and the other half
  5315. controls the download protocol. To use the Hydracom external protocol,
  5316. now do the following: there are two buttons labeled `Type'.  Press them
  5317. both twice until they show `External program'. This will make the
  5318. `Send' and `Receive' text entry fields available.  In the `Send' field
  5319. enter the following line:
  5320.  
  5321.      run hydracom device %p speed %b line %c nocarrier rec %> send %m
  5322.  
  5323.    In the `Receive' field enter the following line:
  5324.  
  5325.      run hydracom device %p speed %b line %c nocarrier rec %> get
  5326.  
  5327.    The `Hydracom' command must be prefixed with the `Run' command due
  5328. to the way the protocol interacts with `term'. For other protocols the
  5329. `Run' prefix may be omitted.
  5330.  
  5331.    Now close the window by pressing the `Use' button. Now Hydracom is
  5332. configured as the binary file transfer protocol. To receive files using
  5333. the protocol, select the menu item `Download binary file(s)', to send
  5334. and receive files at the same time (Hydracom is a bidirectional file
  5335. transfer protocol) select `Upload binary file(s)'.
  5336.  
  5337.    If you wish to use the Hydracom signature (see Signature panel and
  5338. Transfer panel) to auto-start transmissions, you need to keep a few
  5339. things in mind. The signature is identical both for uploads and
  5340. downloads, but using it for both purposes is not a good idea. `term'
  5341. will always pick the upload signature first. Hydracom is a bidirectional
  5342. file transfer protocol which allows you to send and receive files at
  5343. the same time. This works only when invoking an upload, but not when
  5344. running a download. If you select a download signature you will lose the
  5345. bidirectional transfer feature. It is recommended to start transmissions
  5346. manually.
  5347.  
  5348.    This setup will always let you transfer data only in one direction.
  5349. In order to take advantage of the bidirectional transfer feature Hydra
  5350. offers you will need to make use of two ARexx scripts that should have
  5351. accompanied `term'. You only need to modify the commands for `Send' and
  5352. `Receive' a little:
  5353.  
  5354.    For `Send' enter:
  5355.  
  5356.      AskUpload.term device %p speed %b line %c nocarrier rec %> send %m
  5357.  
  5358.    And for `Receive' enter:
  5359.  
  5360.      AskDownload.term device %p speed %b line %c nocarrier rec %> get
  5361.  
  5362.    Before the transfer starts you will be asked whether you wish to send
  5363. and receive data at the same time or whether data should be transmitted
  5364. only in one direction.
  5365.  
  5366. Configuration hints
  5367. *******************
  5368.  
  5369.    Admittely, `term' has more configuration options and settings than
  5370. you can shake a stick at. I have received a number of request to
  5371. explain where to start after installing the program:
  5372.  
  5373.   1. Start with the serial settings (see Serial panel). `term' will
  5374.      usually copy your current system preferences settings. If you
  5375.      happen to know that they are correct and worked fine for you in
  5376.      the past you probably don't need to make any changes.  But if you
  5377.      never were quite happy with the setup this is your chance to make
  5378.      it fit.
  5379.  
  5380.      As the lucky owner of a high speed modem to support all those
  5381.      nifty compressing transfer protocols nobody knows how to pronounce
  5382.      correctly (v.32/v.32bis/MNP/etc.) you will probably want to run it
  5383.      at BPS rates around 9,600-19,200 bps. If you choose to do so make
  5384.      sure that the `Handshaking' switch is set to `RTS/CTS' or data is
  5385.      easily lost during transmissions.
  5386.  
  5387.      *Note: some modems will lock up if the `RTS/CTS' handshaking
  5388.      protocol is enabled although they should support it. In most cases
  5389.      the modem behaviour can be changed. First turn off `RTS/CTS'
  5390.      handshaking (set it to `None'), then enter `AT&S0' and press
  5391.      return, and finally turn on `RTS/CTS' Handshaking on again. Your
  5392.      modem should now respond properly to your commands. To make this
  5393.      change permanent, enter `AT&W' and press return to store the
  5394.      current modem profile in its nonvolatile RAM.*
  5395.  
  5396.      Older modem hardware usually supports only a fixed number of BPS
  5397.      rates, mostly up to 2,400 bps. Do not enable `RTS/CTS'
  5398.      handshaking, leave it turned off. In fact if you don't turn it off
  5399.      `term' will have trouble sending and receiving data.
  5400.  
  5401.      Make sure that the BPS rate fits and your modem supports it.
  5402.      Modern modem hardware usually can adjust to the BPS rate you
  5403.      choose, older modems will send & receive illegible gibberish if
  5404.      addressed at the wrong BPS rate. Not unheard of are modems which
  5405.      can communicate with the terminal program only at fixed BPS rates:
  5406.      while they are happy with 9,600 bps they might find 14,400 bps not
  5407.      at all worth responding to. I recommend that you try several BPS
  5408.      rate settings until one is found to fit.
  5409.  
  5410.      If you don't want to use the built-in Amiga serial port hardware
  5411.      you will want to change the device name and unit number settings.
  5412.      Your I/O expansion hardware manual will tell you which name to
  5413.      choose and which device unit numbers are valid.
  5414.  
  5415.      The serial panel (see Serial panel) sports a number of additional
  5416.      options. *Do not change them right now!* In particular stay away
  5417.      from that sexy `High-speed mode' button and don't let the `Buffer
  5418.      size' slider tempt you. Return from the serial settings to the
  5419.      main menu by clicking on the `Use' button and save your current
  5420.      setup back to disk using the `Save settings' menu item.
  5421.  
  5422.   2. Proceed to the modem settings (see Modem panel) and take a look at
  5423.      the switch labeled `Dial mode'. A modem usually dials phone
  5424.      numbers either using a technique called `tone' or `pulse' dialing.
  5425.      Technically, tone dialing requires your local phone net operator
  5426.      (some kind of computer) to listen to a sequence of sounds which
  5427.      represent the single digits of the phone number dialled. Pulse
  5428.      dialing involves getting a number of electric pulses, each of
  5429.      which represents a digit of the phone number, transmitted across
  5430.      the line. Tone dialing is usually much faster than pulse dialing,
  5431.      but it isn't supported all over the world. If the receiver of your
  5432.      phone reports a number of beeping sounds when you dial a number
  5433.      you can use tone dialing.  If you hear rattling sounds it's
  5434.      probably pulse dialing for you. Let's get back to the `Dial mode',
  5435.      if you wish to use pulse dialing, set it to `Pulse', otherwise set
  5436.      it to `Tone'.
  5437.  
  5438.      Leave the rest of the modem setup as it is, do not change the
  5439.      `Connect auto BPS' switch.
  5440.  
  5441.   3. Next, take a look at the screen settings (see Screen panel). This
  5442.      is where you choose the terminal screen/window look and colours.
  5443.      By default `term' is configured to open a plain four colour screen
  5444.      using the Amiga default font. This should be sufficient unless you
  5445.      plan to spend most of your modeming time in PC-driven BBSes which
  5446.      keep throwing lots of colours at you.
  5447.  
  5448.      Choose how many colours the terminal should use, the switch labeled
  5449.      `Colour' will let you choose between `4 Colours (Amiga)', `8
  5450.      Colours (ANSI)', `16 Colours (EGA)' and `2 Colours (Monochrome)'.
  5451.      Each of these settings has a particular default palette attached.
  5452.      The `Amiga' mode will use your current system default colours.
  5453.      `ANSI' represents the choice of colours the ANSI committee
  5454.      responsible for standardizing a certain terminal command protocol
  5455.      to be the best given the constraints they had. `EGA' reflects
  5456.      whatever the engineers who designed the first Enhanced Graphics
  5457.      Adaptor card for the PC considered to be an enhanced colour
  5458.      palette. `Monochrome' is my idea how an extremely simplistic,
  5459.      while still readable colour choice could look like. Choose what
  5460.      you find appropriate, but keep in mind that the more colours to
  5461.      use the slower screen updates, scrolling and text output will get.
  5462.      Also, a 16 colour high resolution screen will put your system
  5463.      under additional stress if you are running an older Amiga model
  5464.      which is not equipped with the AGA chip set. Careful please, any
  5465.      changes you make will affect the performance of the program!
  5466.  
  5467.      You might want to change the screen mode or the user interface
  5468.      font. When you are satisfied with the setup, return to the main
  5469.      menu.
  5470.  
  5471.   4. Now it's time to edit the terminal settings (see Terminal panel).
  5472.      This is where you control the basic behaviour of the terminal
  5473.      emulation. If you wish to use an IBM PC style font for the
  5474.      terminal display you can do so by changing the `Font' switch to
  5475.      `IBM PC style'. Alternatively, you might find it worth changing
  5476.      the `Text font' instead which is the font to be used for terminal
  5477.      text output. Note that if the `Font' switch is set to anything
  5478.      else but `Standard' your `Text font' settings will be ignored.
  5479.      Well, actually they will not be entirely ignored, but the IBM PC
  5480.      style font will be opened in the point size you selected.
  5481.  
  5482.      Don't touch any other controls, return to the main menu when you
  5483.      are finished.
  5484.  
  5485.   5. If you are likely to visit a lot of PC BBSes, edit the emulation
  5486.      settings now (see Emulation panel). You might want to turn on the
  5487.      switch labeled ``CLS' resets cursor position', otherwise the
  5488.      terminal screen might not get cleared properly when the BBS sends
  5489.      the control codes it considers appropriate for this purpose.
  5490.  
  5491.      Leave the rest of the setup as it is and return to the main menu.
  5492.  
  5493.   6. The next step involves changing the path settings (see Path
  5494.      panel). When receiving files on your machine you might want to
  5495.      have them stored in a special drawer. You can do this by editing
  5496.      the default download paths. Most important is the `Default binary
  5497.      download path', I suggest to create a drawer called `Downloads'
  5498.      within the drawer `term' resides in. Once this is done simply type
  5499.      the name `PROGDIR:Downloads' and return to the main menu. The next
  5500.      binary file downloaded will go into the `Downloads' drawer.
  5501.  
  5502.    If you followed these steps `term' should be configured for the first
  5503. session. Save the current settings to disk now so you can always return
  5504. to this working configuration later in case the changes you made to the
  5505. current setup did not have the desired effect. You can try to fine-tune
  5506. your `term' setup now and change some of the options not covered in this
  5507. brief introduction, but please remember to keep your original
  5508. configuration file in a safe place, you will be glad you did.
  5509.  
  5510. Built-in terminal emulation
  5511. ***************************
  5512.  
  5513.    The `term' built-in terminal emulation implements the VT220 command
  5514. set with a few exceptions. There are no country specific character sets,
  5515. no down-line-loadable character sets, no user defined keys, no keyboard
  5516. language support and only ten function keys, not twenty (many of these
  5517. features are supported through the Amiga operating system). Most VT102
  5518. and VT52 commands should be supported as well, but since my
  5519. documentation on these command sets is rather incomplete I cannot be
  5520. entirely sure all the features are covered.
  5521.  
  5522.    The numeric keypad and the four cursor keys can be switched into
  5523. applications mode if requested by the remote. The four programmable
  5524. function keys (also known as PF keys) are mapped to the top row of the
  5525. numeric keypad. When in applications mode these keys will generate the
  5526. codes produced by the PF keys on a VT102 terminal. If in standard mode,
  5527. you will need to hold down the `Control' key in order to make theses
  5528. keys generate the correct PF key codes.
  5529.  
  5530.    The `Tab' and `Space' keys receive special treatment if a qualifier
  5531. key is held down when they are pressed. `Shift + Tab' will generate two
  5532. `Escape + Tab' characters. `Control + Space' generates the ASCII `NUL'
  5533. byte.
  5534.  
  5535. Text buffer
  5536. ***********
  5537.  
  5538.    The text buffer implements a service which continually stores text
  5539. displayed on `term's main screen, so the user can refer to it lateron.
  5540.  
  5541. General characteristics
  5542. =======================
  5543.  
  5544.    The size of the text buffer is managed dynamically so that for every
  5545. new line which is read new memory must be allocated. So the size of the
  5546. text buffer is limited only by the amount of the available memory. It
  5547. is recommended that the text buffer is emptied periodically to avoid
  5548. using the entire free memory.
  5549.  
  5550.    If there is insufficient memory to place a new line into the text
  5551. buffer, the first line will be deleted to make room for the new line.
  5552.  
  5553. Operation
  5554. =========
  5555.  
  5556.    The contents of the text buffer can be paged through using the keys
  5557. for moving of the cursor (`Shift + Cursor' keys moves page by page,
  5558. `Control + Cursor' key jumps to the beginning or end of the text
  5559. buffer). Additionally, the numeric keypad keys are overlaid with jump
  5560. and paging functions (corresponding to the inscriptions/graphics on the
  5561. front of the keys).
  5562.  
  5563.    There also is a pull-down menu available which is briefly described
  5564. below:
  5565.  
  5566. `Search'
  5567.      A search function is called which scans from the topmost line on
  5568.      the screen for the search text entered. If the search text is
  5569.      found it is displayed and highlighted.
  5570.  
  5571.      `term' remembers search strings entered. You can use the `Cursor
  5572.      up' and `Cursor down' keys to recall previous input.
  5573.  
  5574.      In addition to the search text there are a number of options which
  5575.      may be specified when searching:
  5576.  
  5577.     `Search forward'
  5578.           If this switch is enabled `term' search from the topmost line
  5579.           on the screen downward to the end of the buffer, otherwise it
  5580.           searches upward to the beginning of the buffer.
  5581.  
  5582.     `Ignore case'
  5583.           With this switch enabled the search does not distinguish
  5584.           between lower case and upper case characters, i.e. `TEXT' =
  5585.           `Text' = `text', etc.
  5586.  
  5587.     `Only whole words'
  5588.           If this switch is enabled, `term' will search for whole words
  5589.           only, not for parts of a word. For example, searching for
  5590.           `term' with the `Only whole words' option enabled would stop
  5591.           at the word `term', but ignore the word `terminal'.
  5592.  
  5593. `Repeat search'
  5594.      Continues the search process started with `Search'. The previously
  5595.      entered search text is carried over.
  5596.  
  5597. `Go to main screen'
  5598.      Switches to the main screen of `term'.
  5599.  
  5600. `Clear buffer'
  5601.      Clears the contents of the text buffer.
  5602.  
  5603. `Close buffer'
  5604.      Closes the text buffer screen but leaves the contents unchanged.
  5605.  
  5606. Clipboard
  5607. *********
  5608.  
  5609.    Cut & paste functions are available on the main screen, the buffer
  5610. screen and the review buffer. Here is how to use them:
  5611.  
  5612.    Use the mouse to point to the first character you wish to send to the
  5613. clipboard, hold down the select button, drag the mouse to the last
  5614. character you wish to select and release the button. Select the `Copy'
  5615. menu item (see Edit) to transfer the text to the clipboard.  Instead of
  5616. dragging the mouse you may also double-click on a single word to select
  5617. it.
  5618.  
  5619.    On the main screen, holding down the `Control' key while clicking on
  5620. a character will feed the single character into the input stream, it
  5621. will not be buffered in the clipboard.
  5622.  
  5623.    To paste the clipboard contents, i.e. feed them into the terminal
  5624. input stream, either select the `Paste' menu item (see Edit) or press
  5625. `Amiga + V'. In order to send the clipboard contents along with a
  5626. `Paste prefix' and `Paste suffix' hold down any `Shift' key when
  5627. selecting the `Paste' menu entry or when selecting text with the mouse
  5628. (this works both with the main screen and the text buffer screen).
  5629.  
  5630.    Hold down one of the `Alt' keys and press the left mouse button to
  5631. make `term' emit a number of cursor move sequences which will position
  5632. the on-screen cursor at the spot where you clicked the mouse.
  5633.  
  5634. Command sequences
  5635. *****************
  5636.  
  5637.    Each text sent directly to the modem is a command sequence. This
  5638. includes telephone numbers, modem initialisation strings, function key
  5639. assignments, etc. In addition to the normal text strings various other
  5640. commands are supported which will be described in the following section.
  5641.  
  5642. Backslash
  5643. =========
  5644.  
  5645. `\'
  5646.      Generates a single backslash.
  5647.  
  5648. `\0'
  5649.      Resets the text pacing mode (see Clipboard panel) to the settings
  5650.      defaults. Any changes of the text pacing mode affect only the line
  5651.      to be sent. The next following line will be sent using the default
  5652.      text pacing mode.
  5653.  
  5654. `\1'
  5655.      Sets the text pacing mode to `Direct'.
  5656.  
  5657. `\2'
  5658.      Sets the text pacing mode to `Wait for echo'.
  5659.  
  5660. `\3'
  5661.      Sets the text pacing mode to `Wait for any echo'.
  5662.  
  5663. `\4'
  5664.      Sets the text pacing mode to `Wait for line prompt'.
  5665.  
  5666. `\5'
  5667.      Sets the text pacing mode to `Character/line delay'.
  5668.  
  5669. `\6'
  5670.      Sets the text pacing mode to `Keyboard delay'.
  5671.  
  5672. `\a'
  5673.      Executes an ARexx command (all text to follow this character).
  5674.  
  5675. `\b'
  5676.      Generates a backspace (deletes the character to the left of the
  5677.      cursor).
  5678.  
  5679. `\c'
  5680.      Calls a main menu entry, the menu entry to be called is determined
  5681.      by the argument to follow; this is either a six digit number
  5682.      (example: `\c 010203' would call subitem 1, item 2, menu 3) or the
  5683.      name of the menu entry enclosed in single quotes to call (example:
  5684.      `\c 'about'' would call the `About...' menu entry, the search is
  5685.      case-insensitive and only compares the characters given).
  5686.  
  5687. `\d'
  5688.      Executes an AmigaDOS command (all text to follow this character).
  5689.  
  5690. `\e'
  5691.      Generates the escape character (ASCII code 27).
  5692.  
  5693. `\f'
  5694.      Generates a form feed (skip to beginning of the next page or clear
  5695.      the screen).
  5696.  
  5697. `\g'
  5698.      Places the text to follow this character in the clipboard.
  5699.  
  5700. `\h'
  5701.      Appends the text to follow this character to the current clipboard
  5702.      contents.
  5703.  
  5704. `\i'
  5705.      Feeds the contents of the clipboard into the input stream.
  5706.  
  5707. `\n'
  5708.      Generates a line feed. *Note: must be in lower case!*
  5709.  
  5710. `\N'
  5711.      Generates a line feed character, or whatever the current
  5712.      end-of-line translation settings are configured to (see Terminal
  5713.      panel).  *Note: must be in upper case!*
  5714.  
  5715. `\p'
  5716.      Feeds the password of the currently active telephonebook entry
  5717.      into the input stream. *The password is automatically cleared for
  5718.      security reasons when the connection is lost.*
  5719.  
  5720. `\r'
  5721.      Generates a carriage return. *Note: must be in lower case!*
  5722.  
  5723. `\R'
  5724.      Generates a carriage return character, or whatever the current
  5725.      end-of-line translation settings are configured to (see Terminal
  5726.      panel).  *Note: must be in upper case!*
  5727.  
  5728. `\t'
  5729.      Generates a tab jump.
  5730.  
  5731. `\u'
  5732.      Similar to the `\p' command, the `\u' command will feed the
  5733.      current user name into the input stream.
  5734.  
  5735. `\w'
  5736.      Depending on how the `Dial mode' switch is set in the modem
  5737.      settings, this command either produces `P' for pulse dialing or
  5738.      `T' for touch tone dialing.
  5739.  
  5740. `\x'
  5741.      Generates a break signal (as with the `Send break' menu entry).
  5742.  
  5743. `\^'
  5744.      Generates a caret character.
  5745.  
  5746. `\~'
  5747.      Generates a tilde character.
  5748.  
  5749. `\*'
  5750.      The code to follow the asterisk determines the character to
  5751.      produce.  This can be any three digit number or a symbolic name
  5752.      from the following list (1):
  5753.  
  5754.      `NUL', `SOH', `STX', `ETX', `EOT', `ENQ', `ACK', `BEL', `BS',
  5755.      `HT', `LF', `VT', `FF', `CR', `SO', `SI', `DLE', `DC1', `DC2',
  5756.      `DC3', `DC4', `NAK', `SYN', `ETB', `CAN', `EM', `SUB', `ESC',
  5757.      `FS', `GS', `RS', `US', `SP', `DEL', `SS2', `SS3', `DCS', `CSI',
  5758.      `ST', `OSC', `PM', `APC', `NBS' and `SHY'
  5759.  
  5760.    If none of the mentioned combinations is recognized the character
  5761. which follows the `\' will be fed into the input stream without any
  5762. changes.
  5763.  
  5764.    ---------- Footnotes ----------
  5765.  
  5766.    (1)  `EOU' may be implemented in a future release
  5767.  
  5768. Caret
  5769. =====
  5770.  
  5771.    This character is used to change the following character to a
  5772. `control character'. So the sequence `^J' will become a Line feed and
  5773. `^I' becomes a tab jump. The character which follows the `^' has to be
  5774. located between `@' and `[', otherwise it is fed into the input stream
  5775. without changes.
  5776.  
  5777. Tilde
  5778. =====
  5779.  
  5780.    This character causes the program to pause for exactly half a second
  5781. before it continues to process the following commands.
  5782.  
  5783. Fast! macros
  5784. ************
  5785.  
  5786.    In implementation and design the fast! macros are closely related to
  5787. the function key macros (see Function key panel). If invoked by
  5788. selecting the corresponding menu entry, a window will open on the right
  5789. hand side of the screen sporting a scrollable list of macros (the
  5790. contents of this list can be edited using the fast! macro panel).  When
  5791. a list entry is selected, the associated command sequence (see Command
  5792. sequences) will be executed.
  5793.  
  5794.    By using the fast! macros it is theoretically possible to control a
  5795. BBS just by mouse, provided that you have the approriate macros in your
  5796. fast! macro list.
  5797.  
  5798.    The fast! macro panel can be resized and acts just like the main
  5799. `term' window:  menu items can be selected and characters entered are
  5800. sent to the serial driver.
  5801.  
  5802. Packet window
  5803. *************
  5804.  
  5805.    In this window a line can be edited before it is sent. All the usual
  5806. editing functions known from standard input fields are available
  5807. (`Shift + cursor left/right' jumps to the start/end of the line).
  5808.  
  5809.    Additionally, some extended functions exist which are performed by
  5810. pressing a cursor key together with the `Shift' or `Control' key:
  5811.  
  5812. `Cursor up'
  5813.      Shows the last entered command in the input line.
  5814.  
  5815. `Shift + Cursor up'
  5816.      Shows the very first command entered so far.
  5817.  
  5818. `Cursor down'
  5819.      Shows the next entered command (if you moved back for some
  5820.      commands before).
  5821.  
  5822. `Shift + Cursor down'
  5823.      Shows the very last command entered so far.
  5824.  
  5825.    This text gadget has a buffer where all previously entered commands
  5826. are stored (`Command history'). You can page through this buffer, load
  5827. and save it and individual lines can be recalled. As with the text
  5828. buffer this buffer is managed dynamically. The same memory restrictions
  5829. that apply to the text buffer are valid for this buffer.
  5830.  
  5831.    The input line also has a menu which offers the following functions:
  5832.  
  5833. `Load history'
  5834.      Loads the contents of the input line buffer from a file. Each
  5835.      stored line in this file can be recalled and sent.
  5836.  
  5837. `Save history as...'
  5838.      Saves the contents of the input line buffer to a file.
  5839.  
  5840. `Clear history'
  5841.      Simply releases all previously stored commands and the memory used
  5842.      by them.
  5843.  
  5844. `Other window'
  5845.      Switches to the main screen of `term'.
  5846.  
  5847. `Show output'
  5848.      If not enabled, this causes the input line not to be echoed in the
  5849.      terminal window.
  5850.  
  5851. `Quit'
  5852.      Closes the window (corresponds to clicking the close gadget of the
  5853.      window).
  5854.  
  5855.    *Every character entered into this window is shown immediately so
  5856. that those things where it is better that they should not appear on the
  5857. screen (like passwords for a mailbox) should be entered in another way.*
  5858.  
  5859.    The contents of every input line are interpreted as a command
  5860. sequence and therefore can also contain control characters.
  5861.  
  5862.    If a line taken from the input buffer is sent without change it is
  5863. *not* stored in the buffer again (`true history' such as known from
  5864. `ConMan').
  5865.  
  5866.    The contents of the input buffer are cleared automatically after the
  5867. window is closed. *Under no circumstances are the contents maintained
  5868. until the next call!*
  5869.  
  5870.    Provided that the packet window is large enough, a list to contain
  5871. the command line history will be displayed.
  5872.  
  5873. Chat line
  5874. *********
  5875.  
  5876.    The chat line is roughly functionally equivalent to the packet window
  5877. (see Packet window). However, there is no special pull-down menu and no
  5878. option to save or load the command history. Unlike the packet window
  5879. the command history is kept between invocations.
  5880.  
  5881.    The chat line is, as the name says, a text entry field which allows
  5882. one single line of text to be entered. Except for the optical
  5883. appearance and the handling of control characters (the text entry field
  5884. appears as a single line above the status line, it's also a tad smaller
  5885. than the packet window) it is virtually identical in handling with the
  5886. packet window. The only exception is the special key combination to use
  5887. when clearing the entire past command history.  To clear the history,
  5888. hold down either `Amiga' key and then press either the `Del' or the
  5889. `Backspace' key.
  5890.  
  5891.    The chat line always passes control characters, such as `Control + C'
  5892. and `Tab' straight through to the modem.
  5893.  
  5894. Script recording
  5895. ****************
  5896.  
  5897.    `term' offers a feature called `Script recording' which lets you
  5898. record incoming data sent by a BBS or a remote host and your response
  5899. to it, i.e. the text you typed, such as login name and password. The
  5900. recorded data can then be saved to an ARexx script file which can be
  5901. used as an auto-login script.  In order to record a script you can
  5902. either use the dialing panel button labeled `Start recording on
  5903. connection' or the menu item `Record'.
  5904.  
  5905.    Once `term' is recording terminal output and your input the status
  5906. display will show `Recording' or `Rec.line', depending on the text
  5907. entry mode. By default `term' will only record single keystrokes, which
  5908. makes it difficult to enter whole words. If you want `term' to remember
  5909. the entire line of text you are about to enter either use the `Record
  5910. line' menu item or press the `shift+return' key combination: the status
  5911. will change to `Rec.line'. To return to keystroke recording just press
  5912. the `return' key or select the `Record line' menu item/press
  5913. `shift+return' again.
  5914.  
  5915.    `term' only remembers the last ten characters sent and a maximum of
  5916. 256 characters you can enter per line. If you enter more than this
  5917. number of characters older keystrokes will be discarded.
  5918.  
  5919.    When you are finished recording the script select the `Record line'
  5920. menu item. A file requester will ask you for the file name to save the
  5921. script under. If the file is successfully saved you may be asked whether
  5922. you want the script file to be used as a login script for the currently
  5923. active phonebook entry.
  5924.  
  5925.    *To make sure that the script associated with the phonebook entry
  5926. will be called the next time you dial it the phonebook file must be
  5927. saved to disk before you quit `term'.*
  5928.  
  5929.    The script file generated will consist of ARexx commands `term'
  5930. understands, mostly `TIMEOUT', `WAIT' and `SEND'. The text to be waited
  5931. for and to be sent is given in standard `term' command sequence
  5932. notation. For more information consult the chapter entitled Command
  5933. sequences.  The `term' ARexx interface documentation provides the
  5934. necessary background to explain how the script commands work, it should
  5935. also give you hints how to customize the recorded scripts.
  5936.  
  5937.    *Caution:* scripts recorded by `term' usually need additional
  5938. editing, don't expect a script to work right away.  You may want to
  5939. change the timeout values, remove extra characters and input.
  5940.  
  5941. term and Emplant
  5942. ****************
  5943.  
  5944.    You need to keep a few things in mind before you actually try to use
  5945. `term' with Emplant, the Apple Macintosh emulation and the on-board
  5946. serial ports:
  5947.  
  5948.   1. Both the emulation and `term' are very demanding programs in terms
  5949.      of memory usage. The Macintosh emulation will allocate a fixed
  5950.      memory area for itself which normally should be as large as
  5951.      possible. `term' has to use the amount of memory that remains,
  5952.      which may not be much. It is recommended that at least 3-4 MBytes
  5953.      of memory should be available when you start `term'.  Although the
  5954.      program will show an error message if it cannot allocate enough
  5955.      memory the external modules (terminal emulation libraries, file
  5956.      transfer libraries, serial device driver, etc.) may not work
  5957.      properly under low memory conditions and thus can cause software
  5958.      failures. You should reduce the sizes of the many memory buffers
  5959.      `term' uses to perform its functions, such as transfering files
  5960.      and capturing text. For example, the text buffer will keep growing
  5961.      until all available memory is exhausted unless you set a maximum
  5962.      limit for its size (see Capture panel).
  5963.  
  5964.   2. `term' can share the device driver selected for the I/O ports with
  5965.      Emplant. For example, if you select `serial.device' as the driver
  5966.      to use for `Port A' Emplant will open the driver in shared mode.
  5967.      In `term' you would select the `Shared access' switch in the
  5968.      serial settings (see Serial panel). When both programs are up and
  5969.      running you must make sure that only one program at a time will
  5970.      access the serial device driver, or data may be lost. For example,
  5971.      if you have `ZTerm' and `term' running and wish to use `ZTerm' for
  5972.      communications you *must* make `term' release the serial device
  5973.      driver (use the `Modem' menu item `Release serial device' for this
  5974.      purpose). Likewise, if you wish to use `term' instead of `ZTerm'
  5975.      or some other terminal program on the Macintosh side, make sure
  5976.      you quit the Macintosh terminal program first.
  5977.  
  5978.      Take care, LocalTalk can have a negative effect on the serial data
  5979.      transfer performance.
  5980.  
  5981.   3. If you connect one of the Emplant serial ports to your modem you
  5982.      should know whether the connector pins that are used for 7 wire
  5983.      hardware handshaking (RTS/CTS handshaking) are properly connected
  5984.      or not. Some cables that are sold for use with Hayes modems or the
  5985.      Apple ImageWriter do not have the necessary pins connected. If you
  5986.      wish to use the RTS/CTS handshaking protocol (see Serial panel),
  5987.      set the handshaking mode to `RTS/CTS (Check DSR)'.  This insures
  5988.      that `term' will run properly even if your cable cannot be used
  5989.      for RTS/CTS handshaking. Your Amiga may lock up if the cable does
  5990.      not support RTS/CTS handshaking and you have `RTS/CTS' selected as
  5991.      the handshaking protocol.
  5992.  
  5993.   4. It is unwise to use `empser.device' while the Macintosh emulation
  5994.      is running. Since the Macintosh drivers are unaware of the Amiga
  5995.      side trying to access the serial port hardware conflicts are not
  5996.      to be avoided. Either use `term' with `empser.device' or run the
  5997.      Macintosh emulation, you cannot do both at the same time.
  5998.  
  5999. term and SLIP
  6000. *************
  6001.  
  6002.    If you are brave enough to use `term' to dial into your SLIP account,
  6003. you should make sure that your modem does not hang up when you leave
  6004. `term' and hand control over to your SLIP software. Typically, closing
  6005. the serial device driver causes the DTR signal to drop which some modems
  6006. interprete as an immediate command to abort the connection. This signal
  6007. is automatically dropped when `term' is terminated.
  6008.  
  6009.    To avoid this problem, consult your modem manual for information on
  6010. a command that controls how the modem reacts when the DTR signal is
  6011. dropped. For a ZyXEL modem this would be `AT&D0'. Put the command
  6012. `AT&D0\r' into the modem init command field (see Modem panel) of the
  6013. phonebook entry you use to dial into your SLIP account.
  6014.  
  6015. Environment variables
  6016. *********************
  6017.  
  6018.    Information which is to be available the next time the program is
  6019. run is placed as AmigaDOS variables in the directories `ENV:' and
  6020. `ENVARC:' by `term'.
  6021.  
  6022.    The variables used by `term' can be used and manipulated by other
  6023. programs transparently. In detail these variables are:
  6024.  
  6025. `TERMCONFIGPATH'
  6026.      The name of the drawer in which all information used by `term' is
  6027.      placed (standard configuration, phonebook, etc.). The default
  6028.      settings path name is `TERM:config'.
  6029.  
  6030. `xpr...'
  6031.      The standard settings used for the corresponding transfer protocol
  6032.      (`xprzmodem', `xprkermit', etc.).
  6033.  
  6034. `xem...'
  6035.      The standard settings used for the corresponding external terminal
  6036.      emulation library (`xemvt340', `xemascii', etc.).
  6037.  
  6038. PGP key
  6039. *******
  6040.  
  6041.    Below you will find my signed public key. Save it to a disk file and
  6042. enter `PGP <file name>' to decode it. This will produce a file called
  6043. `public_key'. To add my key to your PGP keyring now enter `PGP -ka
  6044. public_key' and follow the instructions on the screen. To verify my
  6045. signature, now enter `PGP <file name>' again. It's probably pretty
  6046. paranoid to rely upon PGP signatures and keys, but then again you might
  6047. want to have a somewhat unambiguous proof that the distribution
  6048. archives you have downloaded are intact.  Security can still be
  6049. compromised, if you don't trust the key below you can still contact me
  6050. to ask for an official key.
  6051.  
  6052.      -----BEGIN PGP MESSAGE-----
  6053.      Version: 2.3a.2
  6054.  
  6055.      owHrZAhlYmXQEzvfldcZOadb3WIiI+OGm4y/2ZdpeDIxcR1o4V/elrPHvuTZjnbV
  6056.      f54d6g++Trl1qJz/35uNVg33GSfvfzH7lnVo/ZWHVwsuOTq+TDSZsnXTx5eGFyzW
  6057.      MkolcRWUJuVkJsdnp1YyAIEuCDi5unv6KQS4BygEhDr5eDoreLtGKjj5+Dt7g6W5
  6058.      wlKLijPz86wUjPSME/WMuLhyA538HDMrnSzMIh0dHV2dHX0yywxCSkNSvQKqnHKy
  6059.      vHIynUvK8lyKU/XLsyJNvFKrynJLfLKN07RDk6NM0wrDuNK9QyO8MgIjw4NMzS2M
  6060.      03MKCx1DHNOLfPxNI72T8nOi8jyL8/y9XB2dgtwNfFwtiyPDI9MjgXSyUVipV6WT
  6061.      M1dkhJdBontYsadLRVmSh19OUrZTVZJxWGWkUVhlarBpfmS4SWmUe6g2l61prkEq
  6062.      F9gfrn4ueDwJAA==
  6063.      =kKr7
  6064.      -----END PGP MESSAGE-----
  6065.  
  6066.    PGP-encoded mail is not welcome at my internet site!
  6067.  
  6068. Revision history
  6069. ****************
  6070.  
  6071. Changes introduced with v4.7 (18 October 1996):
  6072. ***********************************************
  6073.  
  6074.    * The hotkey panel did not accept control key codes.
  6075.  
  6076.    * The code that sets up the quick dial menu did not allocate enough
  6077.      room for the complete menu strip and thus could trash innocent
  6078.      memory.
  6079.  
  6080.    * Added a tool type to suppress Workbench search path cloning.  This
  6081.      might fix some deadly crashes connected with the program startup.
  6082.      The tooltype is "NOPATHFIX". The path cloning now only kicks in if
  6083.      the process `term' was launched from is in fact Workbench.
  6084.  
  6085.    * Some cleanup work in the configuration storage code. Simplified
  6086.      polished the code a bit.
  6087.  
  6088.    * Put in some improved memory allocation tracking and debugging code.
  6089.  
  6090.    * More changes to support DICE and StormC.
  6091.  
  6092.    * Changed the way Hook structures are initialized. All the work is
  6093.      now done in a setup routine rather than by initializing the hooks
  6094.      statically.
  6095.  
  6096.    * Fixed the last memory leak I could find. There also was some code
  6097.      in the phone rate accounting code that used the wrong routine to
  6098.      free memory it had allocated. This could have lead to a crash.
  6099.  
  6100.    * Simplified the code that deals with reading, writing and parsing
  6101.      IFF streams.
  6102.  
  6103.    * Replaced TextLength() loops with calls to TextFit().
  6104.  
  6105.    * Correctly initialized a variable in the code that brings the `term'
  6106.      screen to the front at the start of a file transfer. As it
  6107.      happened, the variable was never initialized.
  6108.  
  6109.    * The Shell auto-detach code now cleans up the program segment list
  6110.      in a less offensive way than before.
  6111.  
  6112.    * The menu setup code no longer removes menu items of functions that
  6113.      are not available at the moment. Rather, it disables them.
  6114.  
  6115.    * Simplified the program cleanup and shutdown code.
  6116.  
  6117.    * Reworked some of the phonebook cleanup code that dealt with groups.
  6118.      Might be the reason for the crash was hidden here.
  6119.  
  6120.    * I broke the text buffer search code in v4.6.4 when changing the
  6121.      hook init code. It now works again as advertized.
  6122.  
  6123.    * All new phonebook and dialing code. I finally kissed the ancient
  6124.      code goodbye and rewrote it from the ground up. It is much smaller
  6125.      and should be much cleaner now. The question still remains if the
  6126.      code will work correctly in this form.
  6127.  
  6128.    * When `term' is polling OwnDevUnit.library to regain access to the
  6129.      serial device driver it will block access to the user interface
  6130.      now.
  6131.  
  6132.    * The sound control panel now sports "play" buttons to test the
  6133.      sounds.
  6134.  
  6135.    * The ARexx upload list and the upload window file list are now
  6136.      identical and no longer separate lists.
  6137.  
  6138.    * The program should no longer fail to receive and send files in
  6139.      binary mode after doing a text mode file transfer.
  6140.  
  6141.    * The program now sends ZModem cancel command sequences only when
  6142.      necessary.
  6143.  
  6144.    * The "window shanghai" option is gone now and will never return.
  6145.  
  6146.    * Simplified the file transfer setup code.
  6147.  
  6148.    * Fixed a long standing bug in the external terminal emulation code.
  6149.      The processed text now properly ends up in the buffer instead of
  6150.      getting mangled beyond recognition.
  6151.  
  6152.    * The program can now write call log files in Kai Hofmann's PhoneLog
  6153.      standard format.
  6154.  
  6155.    * The program no longer changes the order of files to transfer unless
  6156.      you picked the files using a file requester.
  6157.  
  6158.    * If you enable the "Window border" option in the screen settings and
  6159.      pick a colour mode other than "monochrome" or "Amiga" `term' now
  6160.      tries to fall back to a suitable colour mode if it fails to
  6161.      allocate enough colours for the requested mode.
  6162.  
  6163.    * Removed the standard window close gadgets from all those windows
  6164.      that already feature regular "Close/Use/Cancel" gadgets.
  6165.  
  6166.    * Removed the last references to old gtlayout code.
  6167.  
  6168.    * The quick dial menu now sports menu items whose checkmarks can be
  6169.      toggled.
  6170.  
  6171.    * The number of retries slider in the modem settings editor now has
  6172.      the "unlimited" entry in the righmost position instead of the
  6173.      leftmost.
  6174.  
  6175.    * In the XPR interface `term' now checks if the carrier signal is
  6176.      still present if a read request has timed out without producing
  6177.      any data.
  6178.  
  6179.    * The program now remembers and uses the stored positions and sizes
  6180.      of the following windows: status, review buffer, packet, fast
  6181.      macros and upload queue (only if opened on a custom screen). To
  6182.      make `term' remember the position and size, put the window where
  6183.      you want it and close it, then save the current program settings
  6184.      to disk.
  6185.  
  6186.    * The text buffer code should be better protected against
  6187.      modification of the buffer contents now. The buffer process should
  6188.      not longer crash while data is going in and display output is
  6189.      taking place.
  6190.  
  6191.    * The phonebook group labels were getting freed twice, leading to
  6192.      all kinds of nuisance.
  6193.  
  6194.    * The program should no longer crash on 68060 machines.
  6195.  
  6196.    * All main menu manipulations now go through one common interface.
  6197.  
  6198.    * If control passes through the phonebook, one of the following two
  6199.      things will happen:
  6200.  
  6201.         * If you hit the "Dial" button the old dial list that was
  6202.           active before you entered the phonebook will be discarded.
  6203.           It will be rebuilt with the currently tagged phonebook
  6204.           entries.
  6205.  
  6206.         * If you don't hit the "Dial" button all the entries of the old
  6207.           dial list that got into the list because phonebook entries
  6208.           were tagged the last time the phonebook was open will be
  6209.           removed from the list.
  6210.  
  6211.    * If no phonebook entry is tagged for dialing and you hit the "Dial"
  6212.      button the currently highlighted entry will end up getting tagged
  6213.      for the dial list.
  6214.  
  6215.    * Double-clicking on a phonebook entry that doesn't have a name or
  6216.      number no longer starts dialing it.
  6217.  
  6218.    * The phonebook "Dial" button becomes available now only if any one
  6219.      of the following conditions becomes true:
  6220.  
  6221.         * No phonebook entries are tagged for dialing AND the user has
  6222.           selected a phonebook entry AND the highlighted entry has a
  6223.           name and a number AND the program is not online.
  6224.  
  6225.         * Some phonebook entries are tagged AND the program is not
  6226.           online.
  6227.  
  6228.    * Rewrote most of program status tracking code, plus the code that
  6229.      handles xON/xOFF.
  6230.  
  6231.    * Cleaned up the serial I/O code and also rewrote the low level text
  6232.      output routines.
  6233.  
  6234.    * With an empty phonebook clicking the groups button could cause
  6235.      Enforcer hits and crashes. Fixed.
  6236.  
  6237.    * More cleanup work with the help of the GNU `C' compiler.
  6238.  
  6239.    * BitMap creation under Kickstart 2.04 now uses AllocRaster again. I
  6240.      also changed the user interface support library to use
  6241.      AllocRaster() rather than AllocVec(). Note: this can cause trouble
  6242.      with CyberGraphX, but it's actually The Right Way to do it.
  6243.  
  6244.    * Rewrote the entire program startup procedure. As a consequence
  6245.      `term' will no longer automatically detach itself from the calling
  6246.      shell. If you really need this feature, use "run >nil: term"
  6247.      instead. The old "sync" parameter is still there, it just doesn't
  6248.      have any effect any more. I also rewrote the iconification code
  6249.      which is now far less complex.
  6250.  
  6251.    * Rewrote all the parts of the program that deal with list displays.
  6252.      Also rewrote the phone rate GUI code.
  6253.  
  6254.    * The memory allocation code no longer rounds allocation sizes to
  6255.      multiples of four. This may expose bugs in the program.
  6256.  
  6257.    * Added a workaround for CyberGraphX and its planes2fast environment
  6258.      variable which could cause the tab gadget labels to remain blank.
  6259.      Note: with CyberGraphX V40 this cannot work on the DraCo.
  6260.  
  6261.    * Even more cleanup work, assisted by the GNU `C' compiler.
  6262.  
  6263.    * Dialing a number by entering it in the requester now clears the
  6264.      previously active dialing list first.
  6265.  
  6266.    * It's traditional to muck with the program and Rexx script
  6267.      launching code in every new release. That's what I did, let's keep
  6268.      our fingers crossed the code works this time.
  6269.  
  6270.    * Moved the console output window specifier out of the main menu and
  6271.      the global environment variables. The string is now part of the
  6272.      miscellaneous settings.
  6273.  
  6274.    * The text buffer screen now uses four colours rather than just two
  6275.      and the screen title is now set through the OS routines rather
  6276.      than printed manually.
  6277.  
  6278.    * Rewrote the core of the event processing code. This greatly
  6279.      simplified the main input loop and opened the door to a
  6280.      multithreaded design.
  6281.  
  6282.    * Rewrote the serial I/O processing code, the ASCII transfer code,
  6283.      the data flow scanner and the text send/pacing routines.  One
  6284.      benefit of this action should be that `term' no longer continues
  6285.      with its terminal display output after making a connection until
  6286.      the terminal display has been reopened.  It also simplified most
  6287.      of the code that does serial I/O.
  6288.  
  6289.    * Rewrote most of the ARexx commands. These still have to be tested.
  6290.  
  6291.    * The program now changes its task priority back to its initial
  6292.      priority before returning to the Shell.
  6293.  
  6294.    * Rewrote the home-grown environment variable management routines to
  6295.      use the operating system routines.
  6296.  
  6297.    * Now uses a different technique to obtain the name of the current
  6298.      directory. The old approach could return the wrong name in case
  6299.      `term' was started from Shell.
  6300.  
  6301.    * Code that uses formatted output routines, such as sprintf() now
  6302.      makes sure that the output buffer will not overflow.
  6303.  
  6304.    * Yet more cleanup work with the help of the GNU `C' compiler.  Some
  6305.      local variables are declared as "static" now rather than get
  6306.      allocated on the stack due to their sizes; some would allocate
  6307.      several thousand bytes of stack space.
  6308.  
  6309.    * Adding new entries to an empty phonebook now works again and entry
  6310.      name changes are again propagated to the displayed list [Stefan
  6311.      Becker].
  6312.  
  6313.    * GetFile() is no longer the central entry point of the code that
  6314.      deals with file and drawer requesters. There are now several
  6315.      different routines which each just take care of one single job
  6316.      (request a file name for reading, request a file name for storing,
  6317.      request several file names, request a drawer name for reading and
  6318.      request a drawer name for storing).
  6319.  
  6320.    * The new, safer text formatting routines caught a bug in the locale
  6321.      number conversion routine. The call costs would not be displayed
  6322.      correctly due to an output buffer being too small. In older `term'
  6323.      releases the program would have trashed its stack [Martin Berndt].
  6324.  
  6325.    * The built-in catalog text now uses proper number formatting
  6326.      control sequences (e.g. "%lD" instead of "%ld"). If running under
  6327.      Kickstart 2.04 with no locale.library patches installed, `term'
  6328.      will update the built-in catalog text to use the old format
  6329.      control sequences.
  6330.  
  6331.    * The numbering of the tagged phonebook entries could be off by one.
  6332.      This has been fixed.
  6333.  
  6334.    * Removed some more window close gadgets where they were redundant.
  6335.  
  6336.    * Removed dead code from the fast! macro save & restore routines.
  6337.      The reason why the fast! macro window wouldn't stay where you put
  6338.      it when you saved the macro file to disk was the fact that there
  6339.      was no code to save the window position to complement the code
  6340.      that would read it. While I was on it, I also rewrote the way
  6341.      fast! macros are written to disk and how their in-memory
  6342.      representation looks like.
  6343.  
  6344.    * When a file transfer is aborted, `term' now tries to throw away
  6345.      any pending serial input until the remote has finally stopped
  6346.      sending data. I'm interested to hear if this really works as it
  6347.      should.
  6348.  
  6349.    * Trouble with the decimal point when formatting numbers for display
  6350.      on the screen. It should work again now.
  6351.  
  6352.    * The program could attempt to query an environment variable with an
  6353.      empty name. Fixed [Stefan Becker].
  6354.  
  6355.    * I broke the code that loads the fast! macros in v4.6.8, it now
  6356.      works again [Jari Karjalainen].
  6357.  
  6358.    * ARexx command processing was broken due to the rexx job handler
  6359.      not getting activated. Fixed [Andreas Kirchwitz and Jari
  6360.      Karjalainen].
  6361.  
  6362.    * Rewrote large parts of the dial list management code.  I'm not
  6363.      finished with it yet, there is still work to be done in the dialer
  6364.      code. One of the changes is that for phonebook entries with
  6365.      multiple phone numbers separated by vertical bars ("|") multiple
  6366.      dial nodes will go into the dial list.
  6367.  
  6368.    * Rewrote the copy panel and large parts of the code that deals with
  6369.      configuration data management.
  6370.  
  6371.    * Cleaned up all the code that mucks with the program configuration
  6372.      and associated data. All the routines that know how large the
  6373.      configuration data structures are are now located in one central
  6374.      module.
  6375.  
  6376.    * Finished with rewriting the dial panel, or at least that's what I
  6377.      hope. It's smaller, it's faster, it's more responsive.  I haven't
  6378.      tested it yet, though.
  6379.  
  6380.    * The special modem dial escape sequence "\w" was never expanded
  6381.      properly in the dial panel. It should work now.
  6382.  
  6383.    * Yet more cleanup work with the GNU `C' compiler.
  6384.  
  6385.    * Changed the way the main menu labels are set up.
  6386.  
  6387.    * The dialer would send the modem initialization command and proceed
  6388.      too quickly with sending the dial command. It now waits for up to
  6389.      ten seconds for the modem to respond to the initialization command
  6390.      before either putting up an error message or proceeding with the
  6391.      dial command.
  6392.  
  6393.    * Before dialing a list of entries picked from the quick dial menu,
  6394.      `term' now clears the old dial list [Klaus Dürr].
  6395.  
  6396.    * Rewrote the string gadget editing hooks and the code that uses
  6397.      them. This made things considerably simpler and the editing work
  6398.      is no longer done on the schedule of input.device.
  6399.  
  6400.    * Launching external protocols could cause the usual kind of violent
  6401.      crashes. Memory was getting freed twice.
  6402.  
  6403.    * Simplified and polished the file transfer code.
  6404.  
  6405.    * Small changes to the XPR code (as usual).
  6406.  
  6407.    * The ARexx serial input scanner could run over the end of its scan
  6408.      node list. Fixed [Andreas Kirchwitz].
  6409.  
  6410.    * Rewrote the string gadget editing hook code of the user interface
  6411.      support library. The library no longer supports FRACTION_KIND
  6412.      objects.
  6413.  
  6414.    * Most text entry fields did not use the maximum number of characters
  6415.      to be entered. This could, for example, cause the names of
  6416.      phonebook entries to be trashed very easily. Some numbers were
  6417.      simply as wrong as they could be, such as the keyboard macros
  6418.      which would allow only up to 127 characters to be entered while
  6419.      there was room for 255 characters.
  6420.  
  6421.    * The OwnDevUnit handler was not getting activated. Fixed.
  6422.  
  6423.    * Double-clicking on the default phone rates entry no longer brings
  6424.      up the editor window.
  6425.  
  6426.    * The code to flush any incoming random garbage after a file
  6427.      transfer was stopped now works as it should. You will notice a
  6428.      small delay while the code flushes the buffer.
  6429.  
  6430.    * Rewrote the code that loads the traps and reworked a number of
  6431.      other modules for better readability.
  6432.  
  6433.    * The date editor, as used by the rates editor, now uses a cycle
  6434.      gadget in place of the slider gadget.
  6435.  
  6436.    * All-new fast! macro window.
  6437.  
  6438.    * Encrypted phonebook files now load again properly [Markus Schmall].
  6439.  
  6440.    * For external transfer protocols, "%m" and "%M" will again allow
  6441.      you to select more than one single file.
  6442.  
  6443.    * Integrated the new and improved text marker code. Not everything
  6444.      is working as it should yet.
  6445.  
  6446.    * Removed some more dead code from the serial input processor.
  6447.  
  6448.    * Now both the main window and the text/review buffer use the same
  6449.      text marker code. You can drag-select the text and eventually hit
  6450.      Amiga+C to copy the selected text to the clipboard. This should be
  6451.      much more consistent than it used to be.
  6452.  
  6453.    * The text buffer code now uses TextFit() to find out how many
  6454.      characters fit into the window. This should help multibyte
  6455.      character displays [Tetsuo Tawara].
  6456.  
  6457.    * No longer tries to change the output window specifier until the
  6458.      data structure it should go into is ready [Jari Karjalainen].
  6459.  
  6460.    * If the phonebook fails to load before memory is allocated for all
  6461.      its data structures, the program will no longer throw Enforcer
  6462.      hits [Markus Schmall].
  6463.  
  6464.    * If there are less lines in the text buffer than the text buffer
  6465.      display will hold, selecting text will no longer cause Enforcer
  6466.      hits.
  6467.  
  6468.    * Blank lines in the text buffer now show up as blank lines in the
  6469.      clipboard, rather than getting omitted altogether.
  6470.  
  6471.    * Added a "Select all" menu item to the "Edit" menus.
  6472.  
  6473.    * While `term' is busy processing a synchronous ARexx command, it
  6474.      now says so in the status window "Status" field [Bill Beogelein].
  6475.  
  6476.    * The program now rembers and stores the position of the file
  6477.      transfer window [Bill Beogelein].
  6478.  
  6479.    * The former "I/O Buffer" settings now read as "Disk I/O Buffer"
  6480.      [Bill Beogelein].
  6481.  
  6482.    * The phonebook now remembers which entries were marked when it was
  6483.      saved to disk. After loading it, `term' will again select these
  6484.      entries and get ready to dial them. This means for example that
  6485.      unless you use the "Auto dial" feature you will be able to use the
  6486.      "Redial" menu after `term' has started [Bill Beogelein].
  6487.  
  6488.    * The ARexx commands "PARITY", "BAUD", "DUPLEX", "OPENDEVICE",
  6489.      "PROCESSIO", "PROTOCOL" and "STOPBITS" now return the settings
  6490.      values that were in effect before they were changed [Bill
  6491.      Beogelein].
  6492.  
  6493.    * Introduced a new ARexx command "RESET", which is a superset of the
  6494.      "RESETSTYLES", "RESETSCREEN", "RESETTEXT" and "RESETTIMER"
  6495.      commands. There are more options to come, stay tuned [Bill
  6496.      Beogelein].
  6497.  
  6498.    * In the misc settings, the "Bell & Screen" alert type now reads
  6499.      "Bell & Screen to front" [Bill Beogelein].
  6500.  
  6501.    * Added two new control sequences:
  6502.  
  6503.         * \R (note: must be an uppercase letter)
  6504.  
  6505.           Sends a carriage return character, or whatever the terminal
  6506.           settings EOL translation is currently set to.
  6507.  
  6508.         * \N (note: must be an uppercase letter)
  6509.  
  6510.           Sends a line feed character, or whatever the terminal
  6511.           settings EOL translation is currently set to.
  6512.  
  6513.      [Bill Beogelein]
  6514.  
  6515.    * The ARexx commands "WAIT" and "READ" now sport new "TIMEOUT"
  6516.      options which override the global timeout value while the wait and
  6517.      read commands are active [Bill Beogelein].
  6518.  
  6519.    * Replaced all references to "Baud" with "BPS". The only exception
  6520.      is the "Connect auto-baud" switch [Bill Beogelein].
  6521.  
  6522.    * The text buffer now has a memory safety limit. If a new line is to
  6523.      go into the buffer, it now checks first if there is still that
  6524.      much memory available before making the allocation. This is still
  6525.      not perfect; checking the amount of memory available can take more
  6526.      time than it currently takes to allocate it [Bill Beogelein].
  6527.  
  6528.    * In the status window, the text buffer status is now reported as
  6529.      "Open" rather than "Recording" [Bill Beogelein].
  6530.  
  6531.    * In log files "connect" entries now include the DTE rate [Bill
  6532.      Beogelein].
  6533.  
  6534.    * In the phonebook, if no entry is currently active selecting
  6535.      entries by pattern will make the first entry to match the pattern
  6536.      the active entry [Bill Beogelein].
  6537.  
  6538.    * The dialer now tells you how many entries are still to be dialed
  6539.      before it reaches the end of the list [Bill Beogelein].
  6540.  
  6541.    * The ARexx "CAPTURE" command now sports three new options:
  6542.  
  6543.         * APPEND
  6544.  
  6545.           If the named file exists, append the new capture data to it.
  6546.  
  6547.         * OVERWRITE
  6548.  
  6549.           If the named file exists, delete it before adding new capture
  6550.           data to it.
  6551.  
  6552.         * SKIP
  6553.  
  6554.           If the named file exists, don't overwrite it. Do not open the
  6555.           capture file.
  6556.  
  6557.      [Bill Beogelein]
  6558.  
  6559.    * In the transfer settings panel you can now specify the name and
  6560.      command line options of a command to invoke in order to identify a
  6561.      file just received. So for example, "foo -bar %s" will expand to
  6562.      "foo -bar baz" if the file just received bears the name "baz"
  6563.      [Bill Beogelein].
  6564.  
  6565.    * Selecting phonebook entries by pattern didn't always work as it
  6566.      should. The contents of the string gadgets didn't always make it
  6567.      into the text buffers that would later be used for compiling the
  6568.      search pattern. This has been fixed.
  6569.  
  6570.    * The program now uses the localized date and time formatting
  6571.      routines. This leaves one problem: in the status window there is
  6572.      not enough room left for the "AM" and "PM" indicators.
  6573.  
  6574.    * You no longer need to set the console window output specifier to
  6575.      "NIL:" if you do not want console output to show up. You can now
  6576.      use the "Suppress output" switch in the misc settings.
  6577.  
  6578.    * Removed the close gadget from the file transfer window.
  6579.  
  6580.    * Changed labels in the modem settings panel:
  6581.  
  6582.      Redial delay        -> Delay after dialing whole list  Dial
  6583.      retries        -> Redial each site  Dial timeout        -> Wait
  6584.      for connection  Delay between calls -> Delay after each busy signal
  6585.  
  6586.      [Bill Beogelein]
  6587.  
  6588.    * In two more places FreeVec() had to be replaced by FreeVecPooled()
  6589.      in order to avoid crashing the machine. I'm becoming sloppy.
  6590.  
  6591.    * Added an "Expand blank lines" option to the built-in ASCII
  6592.      transfer settings [Bill Beogelein].
  6593.  
  6594.    * The ARexx "PROCESSIO" command was not working properly. This would
  6595.      lead to race conditions with programs such as "smodem" having to
  6596.      fight with `term' over the ownership of the serial interface. There
  6597.      is still a catch: if shut down with "processio off", serial I/O
  6598.      processing must be turned on with "processio on" as soon as
  6599.      possible.  If not turned on again, `term' will appear to be deaf
  6600.      to any serial input coming in [Jari Karjalainen].
  6601.  
  6602.    * There were still remnants of the old gtlayout support code left,
  6603.      which had to be removed.
  6604.  
  6605.    * The file transfer window now shows its text right-aligned. I'm
  6606.      interested to hear how you think this looks like.
  6607.  
  6608.    * Hanging up the line by dropping the DTR signal could leave the
  6609.      serial device driver in an undefined state. `term' would appear to
  6610.      play dead [Russ LeBar].
  6611.  
  6612.    * Multiple selection in the phonebook list no longer changes the
  6613.      scope of the list [Andreas Kirchwitz].
  6614.  
  6615.    * `term' now requires gtlayout.library V35 to work.
  6616.  
  6617.    * The phonebook grouping window did not close when hitting the "Use"
  6618.      button; it now does [Russ LeBar].
  6619.  
  6620.    * Removed the main window Workbench AppWindow() support. If you want
  6621.      to send files, use the queue window.
  6622.  
  6623.    * The text buffer marker code would change the rendering mask before
  6624.      highlighting text and change it back afterwards.  This could leave
  6625.      artifacts behind when scrolling the display. Fixed.
  6626.  
  6627.    * The file transfer window doesn't come up centered within the
  6628.      bounds of the main window. I can't change that, sorry. But the
  6629.      window should at least come up within the bounds of the main
  6630.      window (which is what it does now).
  6631.  
  6632.    * Selecting a keymap file or dropping icons on the upload queue
  6633.      window could instantly crash the machine. This has been fixed.
  6634.  
  6635.    * The dialer now has an option to skip the login macro after making
  6636.      a connection. Great for testing login scripts [Russ LeBar].
  6637.  
  6638.    * Highlighted text in the text buffer window and screen did not
  6639.      properly update the line limit information the text rendering code
  6640.      uses to optimize display updates. Subsequent drawing operations
  6641.      could fail to erase the highlighted areas. This has been fixed.
  6642.  
  6643.    * The terminal emulation no longer mucks around with the display
  6644.      write mask unless it is really necessary. Previously, the mask
  6645.      changes could introduce bitmap fluff that would never be erased. I
  6646.      never noticed that until I tested `term' on a vanilla machine that
  6647.      doesn't have CyberGraphX installed. Note: this change affects the
  6648.      colour of the cursor.
  6649.  
  6650.    * Removed some sneaky rendering optimizations that turned out to be
  6651.      counter productive with interleaved bitmap displays.
  6652.  
  6653.    * Integrated experimental ZModem code into the program. This is
  6654.      still kinda crufty, so watch out. To use the integrated protocol,
  6655.      hold down any [Shift] key while selecting the "Binary upload" and
  6656.      "Binary download" menus. I don't know exactly how compatible and
  6657.      complete the implementation is, but it should do everything
  6658.      xprzmodem.library does plus a few extras from the original ZModem
  6659.      implementation. What it does not do is support RLE/LZW compression
  6660.      or any of the ZModem-90 features.
  6661.  
  6662.    * The fast! macro window did not open in active state.  It now does.
  6663.  
  6664.    * Finally (!) fixed the last case in which the terminal emulation
  6665.      could start printing in spite of the "printer control enabled"
  6666.      settings being set to "off".
  6667.  
  6668.    * The "space free on destination device" display as used in the XPR
  6669.      window was not properly localized. Fixed.
  6670.  
  6671.    * Did some more device I/O fine tuning in support of the NSD concept.
  6672.  
  6673.    * The single translation panel character translation settings window
  6674.      now sports a "Default" button [Bill Beogelein].
  6675.  
  6676.    * Changing the terminal window size from the terminal settings panel
  6677.      could end up doing nothing. Fixed.
  6678.  
  6679.    * The ARexx command "READ" now sports a "Terminator" parameter.
  6680.      With this parameter you can use a different line terminator than
  6681.      the default "carriage return". For example, "terminator '\n'" will
  6682.      use the "line feed" character [J. Henry Priebe Jr.].
  6683.  
  6684.    * In the XPR and XEM settings window, the "Use" button now reads
  6685.      "Save". This is more appropriate as the XEM and XPR settings have
  6686.      always been global.
  6687.  
  6688.    * Reworked the built-in ZModem GUI. It still doesn't do everything
  6689.      the regular XPR does. `term' now requires gtlayout.library v36.
  6690.  
  6691.    * The built-in ZModem code now hides behind the regular binary and
  6692.      text transfer protocols. Just hold down any [Shift] key to invoke
  6693.      it (this also works with the auto-upload and auto-download).  This
  6694.      is a little unorthodox, but then I can't promise that the built-in
  6695.      protocol will make it into the final release.
  6696.  
  6697.    * Removed some unnecessary calls to layer locking routines.
  6698.  
  6699.    * The text scrolling code as used by the About... requester and the
  6700.      text buffer now cleans up the layer damage caused by the scrolling
  6701.      operation. `term' didn't care about it anyway, since the windows
  6702.      in question have always been smart refresh windows.
  6703.  
  6704.    * By public request, brought back the old style cursor. This time it
  6705.      should be more clever when dealing with the display write mask.
  6706.  
  6707.    * The main window now opens in active state if it must.  Previously,
  6708.      the window would open in inactive state and get activated later.
  6709.      This saves one extra rendering pass.
  6710.  
  6711.    * The text buffer window now opens in active state and the screen
  6712.      opens in the foreground. This saves one extra rendering pass.
  6713.  
  6714.    * Removed the home grown Strcoll() routine.
  6715.  
  6716.    * Got rid of the last "goto .." loops. The weird zmodem code still
  6717.      uses them, though.
  6718.  
  6719.    * Added a smarter routine to open disk resident fonts that does not
  6720.      require diskfont.library to be open all the time.
  6721.  
  6722.    * The built-in ZModem code can now be enabled only through an
  6723.      environment variable. Use "setenv terminternalzmodem 1" to enable
  6724.      it. Note that when you request the internal protocol you will lose
  6725.      the option to use any other text or binary transfer protocol.
  6726.  
  6727.    * Added a very rudimentary zmodem options control panel.
  6728.  
  6729.    * Found yet another layer locking call that didn't really belong
  6730.      where it would end up.
  6731.  
  6732.    * Removed the last layer locking calls.
  6733.  
  6734.    * Changed the way the online limit timer works. Instead of
  6735.      decrementing a counter periodically `term' now takes the current
  6736.      time and adds the number of seconds it takes for the time limit to
  6737.      pass. It then checks periodically if the current time is past this
  6738.      time limit.
  6739.  
  6740.    * The status display now also uses timer arithmetics to determine
  6741.      when to run routine jobs.
  6742.  
  6743.    * Made the built-in zmodem code a compile time option. It's no
  6744.      longer included in the regular version.
  6745.  
  6746.    * The new style sliders did not respond to keyboard input.  They now
  6747.      do.
  6748.  
  6749.    * `term' did not do its routine check actions in sensible intervals.
  6750.      It now does them every two seconds.
  6751.  
  6752.    * The right-aligned text in the file transfer window did not appear
  6753.      with the leading space getting erased. This was most visible when
  6754.      the packet size dropped.
  6755.  
  6756.    * Simplified the user interface gadget keyboard activation code.
  6757.  
  6758.    * Found a bug in the OS code that stores the global environment
  6759.      variables. It didn't save them to ENVARC:.
  6760.  
  6761.    * The buffer display did not get cleared along with the contents of
  6762.      the buffer. It now does.
  6763.  
  6764.    * Ha! Got one of the last deadly bugs in the terminal emulation
  6765.      code. There may be more, but they will have to wait. The IL and DL
  6766.      routines could clear too much memory at a time, trashing just
  6767.      about everything in the way. Now `term' even survives the vttest.
  6768.  
  6769.    * The fast! macro window would not render properly if just one
  6770.      single macro was in the list. Fixed.
  6771.  
  6772.    * Reordered the program initialization code to allow for a safer
  6773.      termination in case something goes badly wrong before all the
  6774.      relevant data is set up.
  6775.  
  6776.    * Removed a ancient rendering optimization from the text buffer
  6777.      display code which could really screw things up badly when
  6778.      selecting text and scrolling the display. This would include the
  6779.      occasional crash or would leave the display in an undefined state,
  6780.      delaying the crash until later.
  6781.  
  6782.    * Whilst printing, `term' now shows that it is busy.
  6783.  
  6784. Changes introduced with v4.6:
  6785. *****************************
  6786.  
  6787.    * Adding the first entry to an empty phonebook did not make the list
  6788.      available, it would stay ghosted.
  6789.  
  6790.    * The transfer window accidentally did not receive any window refresh
  6791.      events, causing it to stay more or less blank when
  6792.      zooming/unzooming it.
  6793.  
  6794.    * Removing phonebook entries from existing groups through the "Group"
  6795.      feature did not move them, it merely changed the name of the group.
  6796.  
  6797.    * Ghosting colours as used by the gtlayout.library created tapedeck
  6798.      and default buttons were "wrong" in a sort of way; the UI style
  6799.      guide suggests to use the shadow pen to draw the ghosting patterns,
  6800.      but there was still some experimental code in the library to use
  6801.      the background pen, really "ghosting" the gadgets.
  6802.  
  6803.    * Finally got the font style rendering bits right with
  6804.      gtlayout.library (and also saved a few bytes on the way).
  6805.  
  6806.    * A few changes in the font size setup code used by gtlayout.library
  6807.      and the status line box layout process now allow fonts with broken
  6808.      kerning and width table data to be used, such as the Scala FuturaB
  6809.      font which has trash in place of the \ and | glyphs. Caution
  6810.      please, although the layout routines now allow the screen layout
  6811.      to proceed in an orderly fashion, Intuition may fail to render
  6812.      pull-down menus correctly.
  6813.  
  6814.    * Horizontal sliders (LEVEL_KIND) as used by `term' now render much
  6815.      smoother and faster.
  6816.  
  6817.    * Stripped grouping frames from windows in which only one single
  6818.      group was displayed.
  6819.  
  6820.    * Changed the 16 colour window backfill code back to use RectFill()
  6821.      rather than the Saturday Night Special BitMap. No longer crashes
  6822.      CPUBlit or gets into trouble with CyberGraphX.
  6823.  
  6824.    * Stripped some more old and dead code from the phone panel.
  6825.  
  6826.    * Tagging entries in the phonepanel moved the list display around,
  6827.      which was both nasty and not necessarily a good thing to do
  6828.      [Andreas Kirchwitz].
  6829.  
  6830.    * Fixed the "Copy" crash & burn bug in the phone panel (how comes
  6831.      I'm feeling so stupid?).
  6832.  
  6833.    * Adding a new phonebook entry did not update all the gadgets that
  6834.      should get updated.
  6835.  
  6836.    * All-new notification requester, smaller & more powerful. It's a
  6837.      shame it only pops up when running `term' for the first time or
  6838.      when upgrading from an older release.
  6839.  
  6840.    * Removed all "Default" button code from the settings editors, the
  6841.      new phonebook editing scheme made these buttons redundant anyway.
  6842.  
  6843.    * In the phonebook edit window, the edit buttons are no longer
  6844.      ghosted if the checkboxes next to them are disabled. This is to
  6845.      allow for browsing the settings without having to enable the
  6846.      checkboxes. The functionality of the checkboxes however is still
  6847.      the same. Please note that selecting "Use" will keep the settings
  6848.      displayed and cause the checkbox to get enabled.  Selecting
  6849.      "Cancel" will leave the checkbox state untouched.
  6850.  
  6851.    * Shortened some more tab labels, although it didn't really improve
  6852.      things much.
  6853.  
  6854.    * Changing the settings of any XPR protocol through the transfer
  6855.      protocol editor could get you into real trouble, code was
  6856.      commented out that should have been there but wasn't.
  6857.  
  6858.    * The XEM interface was still using the `new' code that eventually
  6859.      was replaced by the v4.3 xpr_sread code.
  6860.  
  6861.    * In the phonebook, if no entry is selected hitting "Toggle" or
  6862.      "All" will make the first list entry displayed the selected entry
  6863.      [Russell LeBar].
  6864.  
  6865.    * The phonebook "Toggle" button never got enabled when the window
  6866.      was opened.
  6867.  
  6868.    * Moved up to the v4.4 style xpr_sread code, also caught one case in
  6869.      which XProtocolHostMon() may have trashed its buffer.
  6870.  
  6871.    * In groups, the phonebook sort function did not really sort the
  6872.      contents, it just mucked with the visible list; essentially, when
  6873.      closing the phonebook after a sort operation and reopening it
  6874.      again the list order would not appear to have changed. There also
  6875.      was a nasty side effect in that after performing a sort operation
  6876.      the list nodes would point to the wrong phonebook entries ("Your
  6877.      guide to trashing the phonebook in 3 ez pieces") [Marius
  6878.      Sundbakken].
  6879.  
  6880.    * The size of vertical separator bars as used by gtlayout.library is
  6881.      now adapted to the display aspect ratio [Marius Sundbakken].
  6882.  
  6883.    * Misc housekeeping changes.
  6884.  
  6885.    * The rates/date/time/etc. editors which get opened by the phonebook
  6886.      settings editor now come up properly centered over the window that
  6887.      brought them up.
  6888.  
  6889.    * Massive space optimizations in gtlayout.library, the 68k version is
  6890.      once again smaller than 100K, actually it's even smaller than the
  6891.      optimized 030 library that should have shipped with `term' v4.5.
  6892.  
  6893.    * The asl requester centering code was getting into trouble as the
  6894.      tag array holding the position data was not terminated.
  6895.  
  6896.    * First attempt at getting rid of unused program text. I do not know
  6897.      exactly if I managed to zap them all, but I caught most of them.
  6898.      If you spot a label/text that consists of a single dot only (".")
  6899.      please let me know and tell me where you found it.
  6900.  
  6901.    * Moved the "Text buffer services" page contents in the capture
  6902.      panel to the third page [Russell LeBar].
  6903.  
  6904.    * If the speech synthesizer is not available, the speech settings
  6905.      menu item is no longer appears.
  6906.  
  6907.    * Unified the screen mode selection code used by the screen and
  6908.      capture settings editors.
  6909.  
  6910.    * Small fixes to the custom requester code, it no longer uses
  6911.      hardcoded system gadget sizes.
  6912.  
  6913.    * The rates editor could come up with an empty list if the checkbox
  6914.      next to the rates button was not ticked.
  6915.  
  6916.    * gtlayout.library font fallback didn't fall for default and
  6917.      multiline buttons.
  6918.  
  6919.    * The tab gadget tags now have rounded caps. I finally settled with
  6920.      the first two octants of the Bresenham circle drawing algorithm.
  6921.      Essentially, this makes it difficult to create a
  6922.      resolution-adaptive arc. The `shoulders' of each tab are too
  6923.      small, especially in low resolutions, to create edges that look
  6924.      sufficiently rounded. Consequently, the arc rendered is always
  6925.      based upon a square aspect ratio, but beefed up a bit to look good
  6926.      with an 1:2 aspect ratio.
  6927.  
  6928.    * Replaced the last remaining hardware dependant code with different
  6929.      stuff: the status display code could drop into creating a user
  6930.      copper list and attaching it to the screen for the purposes of the
  6931.      providing a visual bell signal.  It now simply loads and restores
  6932.      the colour palette.
  6933.  
  6934.    * The single character entry was using the wrong colour when doing
  6935.      the first text rendering pass [Göran Åberg].
  6936.  
  6937.    * The transfer upload queue now uses the default binary upload path
  6938.      as its home directory [Göran Åberg].
  6939.  
  6940.    * The area code panel was not allowing you to save the list after
  6941.      loading a new list [Göran Åberg].
  6942.  
  6943.    * The area code panel, fast! macro panel and the trap panel would
  6944.      get into big trouble when removing the last entry from the list.
  6945.      [Göran Åberg].
  6946.  
  6947.    * For similar reasons the phonebook "Remove" function was broken.
  6948.  
  6949.    * Shortened the labels in the upload/download window [Bob Maple].
  6950.  
  6951.    * The same bug that used to wreck the phonebook "Copy" code was
  6952.      having a good time in the "Remove" code. It no longer does.
  6953.  
  6954.    * Shortened the labels in the upload/download window some more [Bob
  6955.      Maple].
  6956.  
  6957.    * Moved the columns/lines settings from the terminal settings page
  6958.      #2 to page #3.
  6959.  
  6960.    * The hair lines between single tabs in tab gadgets are now
  6961.      resolution adaptive.
  6962.  
  6963.    * The terminal settings editor now also sports an "BBS ANSI
  6964.      compliant" button.
  6965.  
  6966.    * Moved the pages with the "BBS ANSI compliant" buttons as featured
  6967.      in the emulation and terminal settings to the first pages.
  6968.  
  6969.    * The "Toggle" button could get the highlighting order of phonebook
  6970.      entries dead wrong [Russell Woodford].
  6971.  
  6972.    * Part of the colour palette loading code was so screwed you could
  6973.      have hung several chandeliers to it.
  6974.  
  6975.    * The fix I put in to avoid having XProtocolHostMon trash its buffer
  6976.      turned out to be doing not much (read: nada). Fixed.
  6977.  
  6978.    * Rewrote all the code that used the one single open timer,
  6979.      including all instances in which TR_GETSYSTIME was invoked rather
  6980.      than calling GetSysTime() directly.
  6981.  
  6982.    * Finally (!) arrived at a safe, slick, transparent and crystal
  6983.      clear xpr_read() implementation. If this one still breaks
  6984.      serial.device and friends I'm really going to cry...
  6985.  
  6986.    * Cleared out more old and dead code.
  6987.  
  6988.    * Changed the order of pages in the path and protocol settings
  6989.      editors, they now read binary, text, ascii. In the serial settings
  6990.      editor, moved the device driver page to #2.
  6991.  
  6992.    * Checked all the places in which file requesters were opened and
  6993.      made sure that whenever they are associated with actions which
  6994.      will cause files to be written to, they will come up with the
  6995.      "Save" mode set.
  6996.  
  6997.    * No longer limits font sizes to 24 points.
  6998.  
  6999.    * The picker glyph size is now adapted to the screen resolution.
  7000.  
  7001.    * Finally went through the great renaming, none of the program
  7002.      source modules bears the name "term" in its name any more. I also
  7003.      went through the prototypes and all the header files with a fine
  7004.      tooth comb. `term' now compiles much faster, and it is using
  7005.      regargs parameters throughout the program.
  7006.  
  7007.    * The next step in trying to fix the "stuck download" problem; the
  7008.      file transfer window is now opened on the schedule of another
  7009.      process, so it doesn't block the file transfer progress.
  7010.  
  7011.    * The cursor key settings editor consistently looked at the wrong
  7012.      buffer. "Use" never really worked.
  7013.  
  7014.    * Cleared out even more dead and unused code & data.
  7015.  
  7016.    * Corrected a bunch of callback-routines which needed their data on
  7017.      the stack rather than in registers.
  7018.  
  7019.    * Reduced stack size requirements for subprocess creation to
  7020.      reasonable amounts, which in this case means a maximum of 8000
  7021.      bytes per process.
  7022.  
  7023.    * Unified the most frequently used process creation procedures, the
  7024.      whole creation business now runs through one single routine.
  7025.  
  7026.    * Now properly remembers the position of the review buffer window
  7027.      instead of always using default values.
  7028.  
  7029.    * Now properly sets its own program name when getting run from
  7030.      Workbench [Petri Nordlund].
  7031.  
  7032.    * No longer tries to pull input from the transfer window MsgPort
  7033.      until the window is ready and open. This avoids responses to
  7034.      refresh events until the window is ready for them.
  7035.  
  7036.    * Put in some experimental code to delay trap scanning until after
  7037.      control sequences and such have been filtered out. I'm not sure if
  7038.      I should make this a configurable feature.
  7039.  
  7040.    * The serial settings editor was not allowing you to change the
  7041.      buffer size or the quantum value [Peter Popanda].
  7042.  
  7043.    * Similar effects could cause trouble with the modem settings.
  7044.  
  7045.    * Big phonebook code cleanup, things should still work, though.
  7046.  
  7047.    * The experimental trap filter code was not doing things right, it
  7048.      did whatever it wanted to do, but could end up rolling the marbles
  7049.      on the schedule of the emulation task which was not allowed to
  7050.      play with the serial port and his friends...
  7051.  
  7052.    * The XPR code could miss single xpr_update() events, simply because
  7053.      the display window was not yet open. It now tries to buffer the
  7054.      data it displays until the window is open and ready. The next
  7055.      following call to xpr_update() will then do the work necessary to
  7056.      get the cached data displayed.
  7057.  
  7058.    * Simplified the final program cleanup code a lot, after all there
  7059.      is memory tracking built into the pools. Also, a lot was gained by
  7060.      taking advantage of the fact that many operating system routines
  7061.      are tolerant to NULL parameters.
  7062.  
  7063.    * Cleaned up the header files a bit.
  7064.  
  7065.    * The incrementer arrows are now resolution adaptive. I also polished
  7066.      the picker images a bit.
  7067.  
  7068.    * Removed all absolute address references to data items. As the data
  7069.      hunk size revealed, the amount of static and bss data compiled with
  7070.      the program is well below the magic 64K boundary (24K so far). This
  7071.      brought the total gain in program size compared to v4.5 to a
  7072.      stunning 36K...
  7073.  
  7074.    * Removed the silly "locale library not installed correctly"
  7075.      requester, as well as the busy mouse pointer code which was easily
  7076.      replaced with gtlayout.library/LT_Lock/UnlockWindow.
  7077.  
  7078.    * More space optimizations in gtlayout.library, which is now more
  7079.      than 4K smaller than the release that shipped with v4.5
  7080.  
  7081.    * Recompiled `term' and gtlayout.library with SAS/C 6.56.
  7082.  
  7083.    * A variable was being shadowed in the text buffer screen creation
  7084.      code which could lead to all kinds of funny effects, including the
  7085.      window opening being 0 pixels tall. I guess that this finally fixes
  7086.      the last possible buffer crash problem.
  7087.  
  7088.    * When clearing the text/review buffer, the buffer percent displays
  7089.      are also updated.
  7090.  
  7091.    * Fixed a very nasty bug in the user interface library code that
  7092.      would draw the text boxes in the about window and frequently crash
  7093.      the machine with an invalid RectFill() call. I also managed to save
  7094.      even more space on the way.
  7095.  
  7096.    * `term' now requires gtlayout.library v26 to run.
  7097.  
  7098.    * On a heavily loaded system (speaking of DMA), the blitter could run
  7099.      wild, trashing the display while the phonebook was being displayed.
  7100.      I came up with a workaround which involves making the phonebook
  7101.      window simple refresh [Russell LeBar].
  7102.  
  7103.    * Ran another test on the A500+, `term' now even fits into 1.5 MBytes
  7104.      of memory and will do file transfers at 19,200 BPS without
  7105.      complaining.
  7106.  
  7107.    * On very slow computers it can take several ten seconds for the
  7108.      transfer window to open. If a transfer error occured while the
  7109.      window was still closed `term' would crash, it no longer does.
  7110.  
  7111.    * More fixes for very slow computers. Still, in very unlucky cases a
  7112.      download can come to a grinding halt and tilt itself along with
  7113.      the operating system over the edge. I have no solution for this
  7114.      stuff right now, I guess it's just a bad habit to keep such an
  7115.      utterly slow computer around (tested with the A500+ in 16 colours,
  7116.      non-interlaced; don't do it).
  7117.  
  7118.    * Fixed an Enforcer hit in the gtlayout.library menu creation code I
  7119.      had overlooked. Feeling adventurous, I optimized the object layout
  7120.      code and ran it through the optimizer.
  7121.  
  7122.    * Made the phonebook use a simple refresh window to avoid weird
  7123.      blitter effects [Russell LeBar].
  7124.  
  7125.    * Small fixes to the gtlayout.library keyboard shortcut picking code
  7126.      [Kai Iske].
  7127.  
  7128.    * The phonebook could present you the hardcoded settings defaults
  7129.      rather than copies of the global configuration [Martin
  7130.      Steigerwald].
  7131.  
  7132.    * More fun with gtlayout.library, aligned most variables to long
  7133.      word addresses, optimized bits & pieces and replaced the
  7134.      horizontal and vertical line drawing code with calls to RectFill().
  7135.      Lots of changes here, have fun.
  7136.  
  7137.    * The listview ghosting code was rendering into the main terminal
  7138.      window, not into the listview, oops.
  7139.  
  7140.    * No longer displays the OwnDevUnit settings page if
  7141.      OwnDevUnit.library is not around.
  7142.  
  7143.    * The new gtlayout.library had *some* rendering problems when running
  7144.      under Kickstart 2.04, or should I say that Kickstart 2.04 had some
  7145.      rendering problems with gtlayout.library? Area fill patterns did
  7146.      not get cleared for RastPorts passed to the rendering code,
  7147.      ghosting did make a bit hit.
  7148.  
  7149.    * I guess nobody noticed this yet, but the popup gadget could lose
  7150.      refresh events after cleaning up the popup menu.
  7151.  
  7152.    * The string/command `term' sends to the remote after invoking the
  7153.      "Wait..." command is now configurable in the misc settings
  7154.      [Russell LeBar].
  7155.  
  7156.    * Just found out that the popup gadget doesn't work so well under
  7157.      Kickstart v2.04, so it's back to cycle gadgets then...
  7158.  
  7159.    * Threw in some binary search code for the locale string lookup
  7160.      procedure.
  7161.  
  7162.    * Some of the user interface layout fallback routines could kick in
  7163.      too late, i.e. after the window was already open.
  7164.  
  7165.    * The transfer performance window now opens on the same screen the
  7166.      transfer window opens.
  7167.  
  7168.    * The "Duplex" switch in the serial settings now reads "Local echo".
  7169.  
  7170.    * `term' could still crash upon exit, this should be fixed now.
  7171.  
  7172.    * Had to return to using a smart refresh phonebook window due to
  7173.      massive window refresh problems, sorry Russ :(
  7174.  
  7175.    * `term' should now be more robust when getting run from Workbench.
  7176.      It properly cleans up after itself when exiting and before the big
  7177.      initialization is done makes sure that enough stack space is
  7178.      around.
  7179.  
  7180.    * Some settings editors were using vars of the wrong size, this has
  7181.      been fixed.
  7182.  
  7183.    * After the startup changes I made `term' could rerun the initial
  7184.      setup procedure, causing the usual kind of nuisance. Also, very
  7185.      rarely it could call the wrong cleanup procedure when run from
  7186.      Shell.
  7187.  
  7188.    * `term' no longer forces the Workbench screen or the default public
  7189.      screen to stay open while it is running using a custom screen
  7190.      [Brad Harder].
  7191.  
  7192.    * Added a configurable delay for the "Wait..." command [Russell
  7193.      LeBar].
  7194.  
  7195.    * The popup gadget now places a checkmark in front of the currently
  7196.      active entry, i.e. the entry that was displayed before you hit the
  7197.      gadget and the popup menu was opened. Also, the popup layout code
  7198.      no longer forces the menu to come up with the last active entry
  7199.      below the mouse.
  7200.  
  7201.    * The phonebook access password entry no longer consists of two
  7202.      string requester popping up after one another, and hitting return
  7203.      in the first meaning "clear the current password". There is a
  7204.      proper interface for this purpose now with two string gadgets to
  7205.      enter and to repeat the new password (for safety reasons), plus a
  7206.      button to clear the current password.
  7207.  
  7208.    * In the phonebook, `term' no longer complains if the default
  7209.      translation/cursor/etc. file cannot be found when you first edit
  7210.      the settings of an entry.
  7211.  
  7212.    * When copying entries in the phonebook, each new entry gets a tag
  7213.      "copy of ..." prepended so you can tell the original and the
  7214.      copies easier apart.
  7215.  
  7216.    * Made the dial window smart refresh again. Popping it to the front
  7217.      did not refresh it.
  7218.  
  7219.    * The single character entry window now uses the current terminal
  7220.      font. Should I make this a configurable feature?
  7221.  
  7222.    * Finally got the status line layout right, the space left and right
  7223.      of the display boxes should be the same now.
  7224.  
  7225.    * `term' could miss window size changes, the IDCMP_SIZEVERIFY flag
  7226.      got enabled only for the fixed-size window, not for the one with
  7227.      the size gadget. Silly me...
  7228.  
  7229.    * `term' no longer crashes violently if gtlayout.library does not
  7230.      open.
  7231.  
  7232.    * When opening its window on a public screen, `term' now opens it as
  7233.      a visitor window.
  7234.  
  7235.    * In the capture settings, the review buffer settings are now on the
  7236.      last tab page [Russell LeBar].
  7237.  
  7238.    * Made the wait command text entry field a bit wider [Russell LeBar].
  7239.  
  7240.    * The wait command implementation is a bit smarter now. The command
  7241.      is now sent (a) before the event loop is entered, (b) reliably
  7242.      every n seconds as specified in the misc prefs and (c) when you
  7243.      close the requester [Russell LeBar].
  7244.  
  7245.    * Changed the order in which the tabs are drawn by the user
  7246.      interface support library. This has the benefit that the
  7247.      beginnings of the labels on overlapping tabs are shown rather than
  7248.      the endings [David Göhler].
  7249.  
  7250.    * The "Wait" feature now listens to the serial port and processes
  7251.      incoming data while the wait loop is running [Russell LeBar].
  7252.  
  7253.    * Shortened the transfer panel labels even further, I also merged
  7254.      the two top groups into a single group. I separated the gauge
  7255.      displays from the two vertical text displays and put them back
  7256.      into the bottom region of the window, just like in the old v2.4
  7257.      version :)  [Chris Hanson].
  7258.  
  7259.    * As an experiment, I put all the xpr, transfer and serial code of
  7260.      `term' v4.4 into this beta release and also turned off the
  7261.      compiler register parameter passing option. Please tell me if this
  7262.      makes things better or worse. Some users still reported problems
  7263.      with downloads, in particular small ISDN transfers would cause big
  7264.      trouble.
  7265.  
  7266.    * Added new dial modes (tone, pulse, modem, ISDN) in support of the
  7267.      ZyXEL 2864ID model [Christoph Lückel].
  7268.  
  7269.    * In popup menus, a bullet is used in place of the checkmark.  This
  7270.      is more consistent, as the menu choices are mutual-exclusive
  7271.      anyway [Russell LeBar].
  7272.  
  7273.    * The user interface layout library now does a binary search when
  7274.      looking up gadgets in its internal database. It used to do a
  7275.      straight linear search which could really cost time. This approach
  7276.      should be much better. Should be. Comments welcome.
  7277.  
  7278.    * The script recording code needed to treat leading, trailing and
  7279.      single spaces and double quotes differently. The old implementation
  7280.      just dumped the entire string, which could cause the spaces to get
  7281.      lost and the double quotes to confuse the parser. It now expands
  7282.      those spaces into \*32 and the double quotes into \*34 [Salvatore
  7283.      V. Barrera].
  7284.  
  7285.    * The new and improved "Wait" code was busy-waiting, a loop flag was
  7286.      not getting reset [Russell LeBar].
  7287.  
  7288.    * In the "Wait" loop, `term' no longer processes ARexx commands, it
  7289.      ignores and rejects them. Getting the ARexx processing to work
  7290.      correctly would be too hairy.
  7291.  
  7292.    * Tabs as supported by the user interface support library are now
  7293.      drawn right to left again.
  7294.  
  7295.    * Removed the entire transfer performance meter code.
  7296.  
  7297.    * Recompiled `term' with register parameters.
  7298.  
  7299.    * Made the XEM interface more robust and also managed to save some
  7300.      code on the way.
  7301.  
  7302.    * Recent changes made the close gadget of the single char entry
  7303.      window unusable. Fixed.
  7304.  
  7305.    * The menu layout code now accounts for very wide submenu items,
  7306.      such as may appear in the dial menu [Russell LeBar].
  7307.  
  7308.    * The key macro settings editor did not restore the original
  7309.      settings when hitting the Cancel button.
  7310.  
  7311.    * The area code settings editor did not properly dispose of the code
  7312.      list when hitting the Clear button.
  7313.  
  7314.    * All the `special' settings editors (character translation, key
  7315.      macros, cursor keys, hotkeys, speech, sound, area codes, traps)
  7316.      now follow a common interface model. They all sport a Discard
  7317.      button now which, if hit, will cause the configuration they belong
  7318.      to to drop the settings. This solves the problem of picking a
  7319.      settings file and not being able to ever get rid of it again.
  7320.  
  7321.    * The XPR transfer window creation code is now much smarter when
  7322.      deciding whether to activate the window or not.
  7323.  
  7324.    * Went through another great renaming. The configuration files
  7325.      `term' will read by default now must be using the following names:
  7326.  
  7327.      Now                  Old    -------------------
  7328.      --------------------    phonebook.prefs      term_phonebook.iff
  7329.      hotkeys.prefs        term_hotkeys.iff    speech.prefs
  7330.      term_speech.iff    fastmacros.prefs     term_fastmacros.iff
  7331.      functionkeys.prefs   term_macros.iff
  7332.      macros.prefs
  7333.  
  7334.      The old naming conventions were obsolete anyway, but `term' used
  7335.      to support these names in previous releases. I just removed all
  7336.      the code which was concerned with providing name backwards
  7337.      compatibility. You will need to rename these files yourself or
  7338.      make copies of the files under the new names.
  7339.  
  7340.    * Just like with every other `term' release I noticed that the tool
  7341.      and script launching code was broken and started to rewrite the
  7342.      whole damn thing again. This time I really have reason to believe
  7343.      that I got it right. I also removed the 1.2 style kludge code to
  7344.      fix console task and output streams.
  7345.  
  7346.    * As usual, the ARexx commands GETATTR and SETATTR were broken to a
  7347.      certain degree. Chances are good I fixed them this time. The
  7348.      translationprefs.x.send and translationprefs.x.receive items now
  7349.      also return much more sensible data.
  7350.  
  7351.    * At the very last minute and at really great expense, this very
  7352.      `term' release now supports fractional costs when doing phone rate
  7353.      accounting. Um, take care, this feature made it necessary to
  7354.      change the rates file format, it's not backwards compatible.
  7355.      Happy New Year :)
  7356.  
  7357.    * Rearranged rates settings edit controls. This arrangement should
  7358.      be more logical than the old one. I also fixed a few all-time
  7359.      nuisances, such as most of the control deactivating themselves
  7360.      when you least expect them to.
  7361.  
  7362.    * The area code panel now finally sports a "Copy" button. I also
  7363.      fixed the case in which either pattern or title could get lost
  7364.      when jumping between list items.
  7365.  
  7366.    * The "lost string gadget contents" problem could also show up with
  7367.      the trap editor, the fast macro editor and the phonebook, so I
  7368.      added extra code to take care of that.
  7369.  
  7370.    * The setup code lost the locations of phonebook, fast macros,
  7371.      function keys, etc. and always assumed it was safe to look into
  7372.      term:config. This was a bug which affected the entire setup code.
  7373.      Fixed. [Martin Berndt].
  7374.  
  7375.    * You can now assign a specific title to the terminal window if it
  7376.      opens on a public screen.
  7377.  
  7378.    * Changed the phone rate format again. Now even the time per unit
  7379.      can be a fractional value. This is how it was originally supposed
  7380.      to be.
  7381.  
  7382.    * Small fixes to the user interface support library. The most
  7383.      prominent feature affected is the password entry gadget;
  7384.      previously, you had to hit return in order to make `term' accept
  7385.      whatever you had entered.
  7386.  
  7387.    * Big changes to support proper phone rate accouting. All the old
  7388.      code is gone and has been replaced by an all new accounting task.
  7389.      Hey, it even appears to work correctly.
  7390.  
  7391.    * Whilst hacking at the accounting code I also rewrote the online
  7392.      state tracking and update code. I'll be mighty suprised if it
  7393.      works...
  7394.  
  7395.    * Changed the way `term' creates its own command search path when
  7396.      getting launched from Workbench. The current implementation should
  7397.      be much more compatible than the old way used to be. This should
  7398.      fix the odd "Execute command" and ARexx script launch crashes.
  7399.  
  7400.    * Updated the terminal window resizing code; it now takes the status
  7401.      line into account and updates the window contents as soon as
  7402.      possible.
  7403.  
  7404.    * The new switch "Auto-adapt window size" in the terminal settings
  7405.      should simplify setting the number of columns and rows the
  7406.      terminal window uses. Previously, in order to make the window size
  7407.      affect the number of terminal columns and rows you had to set the
  7408.      columns/rows sliders to "Max.".  Now you just have to enable the
  7409.      switch.
  7410.  
  7411.    * Fixed an Enforcer hit in the menu creation code.
  7412.  
  7413.    * Tried to make the phonebook copy & add code more robust.  Still,
  7414.      something is not right here...
  7415.  
  7416. Changes introduced with v4.5:
  7417. *****************************
  7418.  
  7419.    * Added a bunch of new OwnDevUnit options:
  7420.  
  7421.     `Do not use if device is in shared mode'
  7422.           This used to be the default in v4.4. I've had a few good
  7423.           ideas in my life, this wasn't one of them. Now it's a
  7424.           configurable option [Andreas Kirchwitz].
  7425.  
  7426.     `Release device when online'
  7427.           The default behaviour used to be not to let go of the device
  7428.           if you are still online. But perhaps this is just what you
  7429.           want. Now you can.
  7430.  
  7431.     `Release device when dialing'
  7432.           If your uucp netcall catches you off guard while `term' is
  7433.           still dialing and not getting anywhere, this switch will tell
  7434.           `term' to let go of the device driver. Please note that
  7435.           `term' will not start to redial when the device becomes
  7436.           available again.
  7437.  
  7438.    * The OwnDevUnit choices are now radio buttons rather than one wide
  7439.      cycle gadget [Chris Hanson].
  7440.  
  7441.    * The character conversion tables now show the numeric codes of the
  7442.      characters in several flavours (binary, octal, hex, you name it)
  7443.      [Chris Hanson].
  7444.  
  7445.    * The text buffer screen now gets the colours right even if it opens
  7446.      in 32K/64K/16M colours [Frank Mariak].
  7447.  
  7448.    * The "RTS/CTS (DSR)" handshaking mode now causes the device to be
  7449.      opened with RTS/CTS handshaking enabled before the DSR signal is
  7450.      checked. As it turns out, it didn't work the other way round.
  7451.  
  7452.    * Major new addition: for easy debugging and the shocking good looks
  7453.      of it, there is a new window to enter single characters
  7454.      graphically. It's called "Single character entry" and sports a
  7455.      button for every ISO-8859-1 character on this world. Click on the
  7456.      character you want (yes, there's a neat BOOPSI gadget behind it)
  7457.      to get it sent [Chris Hanson].
  7458.  
  7459.    * The XPR interface now uses a different approach to read data from
  7460.      the serial line. The overhead involved is much lower than in all
  7461.      previous `term' releases.
  7462.  
  7463.    * The dialer sent the modem exit commands on very rare occasions
  7464.      only, it now does it consistently.
  7465.  
  7466.    * Lots of minor changes in the user interface code.
  7467.  
  7468.    * The single character entry window came out black on black in 16
  7469.      colour mode [Frank Dürring].
  7470.  
  7471.    * While I was updating the single character entry window I added a
  7472.      code display. While you pick the character its code appears in
  7473.      decimal, hexadecimal, octal and binary in the window title bar.
  7474.  
  7475.    * The "SEND LITERAL" ARexx command now works as it should [Maxwell
  7476.      Daymon].
  7477.  
  7478.    * The windows menu now gets properly updated after the main
  7479.      screen/window is closed and reopened.
  7480.  
  7481.    * Freezing the buffer via the capture settings and saving them as
  7482.      your default settings never caused `term' to start up with the
  7483.      buffer frozen, it now does [Geoff Seeley].
  7484.  
  7485.    * There are now two different ways of getting data into the capture
  7486.      buffer. The old way of doing things (data flow) and a special
  7487.      procedure that stores all the data that gets scrolled or erased
  7488.      from the screen (review). The latter is more faithful to the
  7489.      general concept of a review buffer, but the catch is that you
  7490.      won't see the current contents of the main window. Not all the
  7491.      hooks & lines are in there yet, for example erasing characters in
  7492.      a single line is something the buffer does not track. The code is
  7493.      already in there, but it's commented out. Please let me know if
  7494.      you need it.
  7495.  
  7496.    * Another addition to the modem settings: if your phonebook entries
  7497.      don't use special modem configurations (in other words, they use
  7498.      the main modem configuration) and you have some modem
  7499.      initialization and cleanup commands in the main modem
  7500.      configuration you do not want the modem to receive while it is
  7501.      dialing, you can now tell `term' not to send them.
  7502.  
  7503.    * Mucked around some more with the character raster code that backs
  7504.      cut & paste in the main window. Some optimizations in the code,
  7505.      responsible for clearing the screen when scrolling or erasing
  7506.      text, were not that reliable.
  7507.  
  7508.    * The dialer was releasing the device driver by request of the
  7509.      OwnDevUnit.library even if it had been configured not to yield it.
  7510.      Even worse, the dialer did not pay attention to whether it should
  7511.      release the device on request while dialing or not [Andreas
  7512.      Kirchwitz].
  7513.  
  7514.    * Another one bites the dust: the text cut & paste feature supported
  7515.      by the main window no longer gets the terminal emulation into
  7516.      trouble when double-clicking on a word while there is still text
  7517.      selected [Andreas Kirchwitz].
  7518.  
  7519.    * The transfer panel now finds resident commands given for the
  7520.      external transfer protocol programs to invoke [Andreas Wolff].
  7521.  
  7522.    * The transfer menu no longer gets ghosted if the default protocol
  7523.      is not an XPR library but an external transfer protocol [Andreas
  7524.      Wolff].
  7525.  
  7526.    * The `Upload' buttons found in the upload queue window now cause
  7527.      the current transfer queue to be sent even if it consists of only
  7528.      a single file [Andreas Wolff].
  7529.  
  7530.    * Changing the default transfer protocol from xpr library to
  7531.      external program can no longer bring the machine down.
  7532.  
  7533.    * `term' no longer bangs its head if you accidentally pick an
  7534.      external transfer program and leave the type of transfer protocol
  7535.      set to "XPR library". It now manages to display the error
  7536.      requester without crashing or trashing its own stack [Sven Reger].
  7537.  
  7538.    * The `improved' XPR serial I/O code was pulling far too much CPU
  7539.      time. Bob Maple reported about 45%, on my setup it was about 25%
  7540.      which I thought was pretty normal.  I went back to the old code
  7541.      and streamlined it a bit, it's now down to about 5%, so the 25%
  7542.      were not that normal after all [Bob Maple].
  7543.  
  7544.    * `term' no longer tells you that the function keys, translation
  7545.      tables, cursor keys or hotkeys have been changed on exit if this
  7546.      is not really the case [John Yeung].
  7547.  
  7548.    * The translation table editor lost the "Cancel" gadget, there
  7549.      really was no code backing it and thus Use and Cancel always got
  7550.      the same treatment.
  7551.  
  7552.    * Finally fixed the "No DSR signal detected" problem.  I promise.
  7553.  
  7554.    * The modem dialing prefs now sport two new options which will
  7555.      hopefully simplify dialing through a local PBX.  The "PBX dial
  7556.      command" will get inserted between dial prefix and phone number if
  7557.      the "Use PBX dial command" switch is enabled. By default the PBX
  7558.      dial command is set to "0,,," which will first send a 0 to dial
  7559.      out, then wait about six seconds (each comma tells the modem to
  7560.      wait a certain number of seconds; exactly how many seconds to wait
  7561.      can be configured through a modem register, on the ZyXEL U-1496
  7562.      this is register S8 which is by default set to 2) before starting
  7563.      to dial the `real' phone number.
  7564.  
  7565.    * Renamed "Verbose dialing" (silly name) to "Show modem responses".
  7566.  
  7567.    * Another rogue attempt at improving data throughput in the XPR
  7568.      sread routine. I'm wondering if this has any positive effects, or
  7569.      as usual does not work as reliably as it really should.
  7570.  
  7571.    * Caught some more cases in which the return code of ModifyIDCMP()
  7572.      was plainly ignored. Now all of them are covered.
  7573.  
  7574.    * The transfer performance window now gets properly backfilled,
  7575.      especially if the window opens on a 16 colour screen under
  7576.      Kickstart 3.x.
  7577.  
  7578.    * The Fast! macro window now always opens in a useable state.  This
  7579.      was not always the case in previous releases if the main window
  7580.      had the wait pointer set while the new window was about to get
  7581.      opened [Andreas Wolff].
  7582.  
  7583.    * Put the old code back into xpr_sread. Somehow none of my attempts
  7584.      to improve things in this area seem to bear any fruit [Martin
  7585.      Berndt].
  7586.  
  7587.    * Fixed the delete line ("Esc [ <n> L") and insert line ("Esc [ <n>
  7588.      M") commands which were really broken in one special case, which is
  7589.      if more lines were to be deleted/inserted than the current
  7590.      scrolling region would hold. This code never worked in all previous
  7591.      `term' releases (it would clear the entire screen, not just the
  7592.      part covered by the scrolling region), but this time it really
  7593.      crashed [Andreas Kirchwitz].
  7594.  
  7595.    * Unified review buffer and text buffer. Both services now share the
  7596.      same code and more or less the same features. This has its
  7597.      drawbacks and advantages. I really don't want to return to the old
  7598.      console.device style review buffer implementation, so you better
  7599.      get used to the new way of doing things ;)
  7600.  
  7601.    * Changed the layout of the translation panel buttons [Stellan
  7602.      Klebom].
  7603.  
  7604.    * When using an external transfer protocol program, prefixing the
  7605.      program name with "run" no longer causes the name of the transfer
  7606.      protocol to be reported as "Run". The "run" command is now skipped,
  7607.      hopefully causing the name of the program to be executed to show
  7608.      up.
  7609.  
  7610.    * The transfer configuration now by default gets the standard Hydra
  7611.      invocation commands copied into the binary protocol entries.
  7612.  
  7613.    * Changing the default transfer protocol to an external program did
  7614.      not always cause an immediate update of the status line, it does
  7615.      now.
  7616.  
  7617.    * Better ARexx script recognition within the transfer settings
  7618.      control panel. Previously, in order to have ARexx scripts
  7619.      recognized they had to have their executable file protection bits
  7620.      cleared.
  7621.  
  7622.    * Changed the way the default buttons look like. Now, what do you
  7623.      think?
  7624.  
  7625.    * Removed some historic rubble from the screen settings editor which
  7626.      caused screen display modes to be sorted out that would offer less
  7627.      than 640 columns in their default resolution [Russ LeBar].
  7628.  
  7629.    * Shuffled the controls in the serial and modem settings editor a
  7630.      bit [Russ LeBar].
  7631.  
  7632.    * New sort algorithm for phonebook and friends.
  7633.  
  7634.    * All new phonebook. This change is massive and most likely to
  7635.      attract the usual kind of trouble. No documentation exists for
  7636.      this new part of the program yet, sorry. I haven't decided yet how
  7637.      to implement certain features, such as what the checkbox next to
  7638.      the "Rates" settings will do.
  7639.  
  7640.    * Fixed another load of bugs in the user interface support library.
  7641.  
  7642.    * If the single character entry window fails to open, the checkmark
  7643.      near the menu item gets cleared.
  7644.  
  7645.    * The phonebook now uses the brand new popup gadgets.
  7646.  
  7647.    * Reassigned some keys in the phonebook [Russ LeBar].
  7648.  
  7649.    * Brought back the v4.3 style xpr_sread routine. Please give this a
  7650.      test and tell me if file transfer reliability improves.
  7651.  
  7652.    * The phonebook window will no longer expand to display 20 lines of
  7653.      text if there are less than these few entries in the phonebook
  7654.      list [Chris Hanson].
  7655.  
  7656.    * The phonebook window will grow in the horizontal direction to make
  7657.      more room for the single phonebook entries [Andreas Kirchwitz].
  7658.  
  7659.    * Just for fun, added support for VT52 escape sequences.  Except for
  7660.      "<ESC>^" and "<ESC>_" all should be properly implemented.
  7661.  
  7662.    * Duplicating an entry in the phonebook would discard special item
  7663.      tracking information in the new entry created, this has been fixed.
  7664.  
  7665.    * When saving a phonebook file, the currently highlighted group will
  7666.      be saved along with it. The next time the file is loaded, this
  7667.      very group will appear in the listview as the active group again.
  7668.  
  7669.    * `term' now reads the system screenmode, serial and font
  7670.      preferences to establish its power-up defaults.
  7671.  
  7672.    * The "RECEIVEFILE" ARexx command never paid any attention to the
  7673.      file name you could optionally provide, now it does [Stefan Falke].
  7674.  
  7675.    * If the serial device driver is released on request by
  7676.      OwnDevUnit.library you now get the choice to return to `term', to
  7677.      iconify `term' and to quit the program [Christian Hechelmann].
  7678.  
  7679.    * New options for the phonebook: you can now define which phonebook
  7680.      entries should go into an auto-dial list which `term' will start
  7681.      dialing right after startup. In addition to that, you can also
  7682.      tell `term' to keep redialing each entry in the list until it hits
  7683.      the last entry, which will cause it to exit. In order to stop
  7684.      this, either hit cancel in the dialing window, or turn off the
  7685.      "auto exit" feature in the phonebook/clear the dialing list. Last
  7686.      but not least there are new command line options/tooltypes to
  7687.      select a particular phonebook file to use and to turn on the auto
  7688.      dial and auto exit features even if the phonebook was saved
  7689.      without having these enabled [Don Schmelling].
  7690.  
  7691.    * The emulation settings now allow you to select how `term' responds
  7692.      to device attributes and identify commands. The options include
  7693.      VT200 (the default), VT102, VT101 and VT100. This option does in
  7694.      no way affect how the terminal emulation operates, i.e. if you
  7695.      switch to VT100 `term' won't ignore VT220 commands. Only the
  7696.      responses are affected [Rich Jesse].
  7697.  
  7698.    * Phonebook loading severly broken when using file prefs, fixed now
  7699.      [Martin Berndt].
  7700.  
  7701.    * With the phonebook file format changes the XPR library name was
  7702.      left blank. This in turn caused an unsigned counter variable to
  7703.      flip, and `term' enventually started to spin into the void...
  7704.      Fixed.
  7705.  
  7706.    * Changed the look of default buttons again. They are no longer
  7707.      quite that bold, but now the label text is.
  7708.  
  7709.    * Creating a new group now also updates the group label.
  7710.  
  7711.    * Page #3 of the emulation settings was missing, it's back again now.
  7712.  
  7713.    * Changed the layout of the phonebook buttons again [Chris Hanson].
  7714.  
  7715.    * Moved the phonebook sort options into a separate control panel
  7716.      [Russell LeBar].
  7717.  
  7718.    * Added memory allocation debugging code. To enable it, do the
  7719.      following:
  7720.  
  7721.      setenv termprealloc <byte count> setenv termpostalloc <byte count>
  7722.  
  7723.      For <byte count> insert the number of bytes to put before and
  7724.      behind all memory allocations `term' makes. The numbers will be
  7725.      rounded to multiples of 16. Please note that if you don't choose a
  7726.      prealloc value, the debugging code won't kick in. If you omit the
  7727.      termpostalloc but specify a prealloc value, `term' will use a
  7728.      default of 16 bytes as the postalloc value. To make things more
  7729.      interesting, once you've enabled the debugging code `term' will
  7730.      fill all its memory chunks not allocated with MEMF_CLEAR with
  7731.      $DEADBEEF. When using the debugging code, please run SegTracker
  7732.      and Sushi (preferably with a 128K buffer) in the background and
  7733.      capture its output to a file. Oh, by the way, `term' will also
  7734.      remember the largest and smallest allocation made. I plan to add
  7735.      texture mapping to the spheres in the future.
  7736.  
  7737.    * Implemented DECANM and VT52 "Enter ANSI mode" commands. Both the
  7738.      VT52 and the VT220 emulation use the "<ESC>H" command for
  7739.      different purposes. The implementation now honors the mode in
  7740.      which the emulation operates [Andreas Kirchwitz].
  7741.  
  7742.    * `term' no longer forgets about the location of the cursor key,
  7743.      translation, etc. files and assumes that they are to be found in
  7744.      the default locations [Andreas Kirchwitz].
  7745.  
  7746.    * Added a new raw file capture mode, so one can make verbatim file
  7747.      captures without having to go through the capture settings and
  7748.      locate the right switch.
  7749.  
  7750.    * Phonebook entries tagged to go into the quickdial menu which are
  7751.      placed in groups now appear in submenus of the quickdial menu. If
  7752.      all the entries come from just one single group, however, no
  7753.      submenus will be created.
  7754.  
  7755.    * Fixed some more bugs in the popup and menu layout code.
  7756.  
  7757.    * You can now rename groups by tagging all members of the group and
  7758.      clicking the "Make group" button. In the requester to pop up,
  7759.      enter the new name of the group [Russell LeBar].
  7760.  
  7761.    * The text buffer display code crashed under v2.04. After chasing it
  7762.      for three hours it finally surfaced in the scrollbar creation
  7763.      code. Thanks go to Peter Banville for being so persistant :)
  7764.  
  7765.    * The XPR init code was throwing the wrong library names in case the
  7766.      setup went wrong. Fixed.
  7767.  
  7768.    * In the phonebook, clicking on the "rates" settings checkbox now
  7769.      does something sensible. If the button gets ticked, it will receive
  7770.      default rates settings. If the checkmark is cleared, all the rates
  7771.      settings associated with it will get zapped.
  7772.  
  7773.    * "Dial" is now the default button for the phonebook user interface,
  7774.      I also edited some phonebook gadget labels a bit [Chris Hanson].
  7775.  
  7776.    * The phonebook window title now keeps track of the number of
  7777.      phonebook entries and those which are tagged [Andreas Kirchwitz].
  7778.  
  7779.    * The "Select by pattern" code had the selection mode reversed, i.e.
  7780.      "tag matching entries" would untag entries, even if they weren't
  7781.      tagged - with all the usual consequences (can you say "BANG"?).
  7782.  
  7783.    * Sorting single groups would trash large amounts of memory (Russ
  7784.      was right), as the array to be sorted would hold only a single
  7785.      entry, a memory allocation of the wrong size took place.
  7786.  
  7787.    * The editing window now responds to the cursor left/right keys,
  7788.      hold down any shift key to move to the beginning or the end of the
  7789.      list.
  7790.  
  7791.    * "Sort" is now the default button for the phonebook sort panel,
  7792.      this used to be "Sort+Close".
  7793.  
  7794.    * Rebuilding the main menu did not protect itself well enough
  7795.      against changes in the quick dial menu area, which could cause
  7796.      lots of Enforcer hits and worse.
  7797.  
  7798.    * The menu builder would depend on the order of phonebook entries to
  7799.      go into groups. It no longer does, I also removed the limitation
  7800.      of the maximum number entries to go into the quick dial menu.
  7801.      Watch out, if `term' runs out of space it will fall back to the
  7802.      default menu layout without telling you what went wrong.
  7803.  
  7804.    * The phonebook entry edit window now sports a "Hide" checkbox which
  7805.      is by default checked. If checked, the window won't display or let
  7806.      you edit the user name and password [Russell LeBar].
  7807.  
  7808.    * Cleared out a lot of dead code, this cut the program size a bit.
  7809.  
  7810.    * In sixteen colour mode the default text rendering colour is now
  7811.      colour #7, this used to be #15 (i.e. #7 with highlighting). This
  7812.      makes colouring more consistent with the ANSI specs and avoids
  7813.      silly "white on white" rendering.
  7814.  
  7815.    * `term' now requires gtlayout.library v24 to run, so make sure you
  7816.      have it installed.
  7817.  
  7818.    * Replaced all cycle gadgets that were acting as page selectors by
  7819.      the new tab gadgets. I'm still not entirely happy with the visual
  7820.      design of these, point & click is also a bit difficult if the tabs
  7821.      are overlapping one another. The [Tab] key still moves you through
  7822.      the single pages, plus there is a new feature known as "strumming",
  7823.      i.e. you can hold down the mouse button and drag the pointer across
  7824.      all tab tags to see which choices are available. The tags will
  7825.      appear to be plucked out a bit while you review them. When you let
  7826.      go of the mouse button the tag you are currently viewing will
  7827.      become the active tag and the page will be rebuilt. FYI, the tab
  7828.      gadgets will eat a lot of chip memory, please keep an eye on this
  7829.      and let me know if this is a problem for you.
  7830.  
  7831.    * At the end of an upload through the built-in ASCII transfer
  7832.      routines `term' would invoke the download macro [Mirko Lukas].
  7833.  
  7834.    * Flipping through groups in the phonebook did not update the
  7835.      "current" entry counter, in fact the code was forgetting about it
  7836.      but did not show this in the user interface.
  7837.  
  7838.    * No longer uses buffered I/O when talking to the printer device.
  7839.  
  7840.    * Shuffled the buttons in the phonebook window again [Russell LeBar].
  7841.  
  7842.    * The tab key wasn't flipping pages properly in the transfer protocol
  7843.      editor panel [Russell LeBar]. The same was true for the internal
  7844.      ASCII send/receive setup panel.
  7845.  
  7846.    * More label and menu changes to support the tab gadgets [Russell
  7847.      LeBar].
  7848.  
  7849.    * Small visual changes to the tab gadget tags; there are now fine
  7850.      separators lines around the edges.
  7851.  
  7852.    * Added a shortcut to the emulation settings to make the emulation
  7853.      BBS-ANSI compliant. Just hit the checkbox to have the relevant
  7854.      options updated. It ought to update the terminal options as well,
  7855.      as a typical BBS-ANSI display measures 80x25 characters and most
  7856.      likely uses the IBM PC style font. However, it doesn't since this
  7857.      goes beyond the scope of this settings editor.
  7858.  
  7859.    * The menu layout code did not handle submenu items properly that
  7860.      would end up at the end of the menu list and would need to be
  7861.      shifted around in order to avoid having their hit boxes hang over
  7862.      the right screen border. This was tough to fix and even tougher to
  7863.      find in the first place...
  7864.  
  7865.    * Finally (!) caught the
  7866.      not-quite-that-rare-but-still-very-surprising case in which the
  7867.      font sensitive layout gadget procedure within gtlayout.library
  7868.      would loop forever without getting anywhere. This was happening
  7869.      frequently when using topaz/8 as the user interface font and with
  7870.      screen resolutions that did not support overscan.  Note that
  7871.      `term' will try to open a screen in the right size, but if the
  7872.      requested screen size is unavailable, it may decide to open the
  7873.      window anyway, even if this causes gadgets to hang over the window
  7874.      borders. Much better than not opening the window at all, or what
  7875.      do you think?
  7876.  
  7877.    * The tapedeck control button images now have a minimum size limit,
  7878.      so they look proper on low resolution displays.
  7879.  
  7880.    * The single menu strips are once again placed closer together. A
  7881.      total of two pixels in between neighbouring strips is used.
  7882.  
  7883.    * Fixed the other control sequence that was used both by the VT220
  7884.      emulation and the VT52 code ("<ESC> D") [Matthias Scheler].
  7885.  
  7886.    * Caught a very rare bug in the phonebook. If no phonebook file was
  7887.      loaded, and if you were loading a new phonebook file to include
  7888.      groups, using a special default group, `term' did not get the
  7889.      group display and the phonebook list right. Hitting any entry would
  7890.      invariably cause two more or less harmless Enforcer hits.
  7891.  
  7892.    * The screen displaymode picker revisited. I killed the filter, but
  7893.      the minimum size tags remained.
  7894.  
  7895.    * The commands to change the text size (DECHDL through DECDWL) could
  7896.      enable the text cursor too early, which would leave ugly artifacts
  7897.      on the screen. This would rarely happen in real life as the speed
  7898.      at which data had to be fed into the emulation was far beyond
  7899.      100,000 chars/second to make the bug manifest itself.
  7900.  
  7901.    * Alas, more changes. This time I combed the screen settings editor
  7902.      for dead code and indeed found a lot, plus certain routines I must
  7903.      have written while I apparently was not fully conscious. The editor
  7904.      frequently cancelled the wrong pages, did not update the colour
  7905.      palette when switching colour modes and moved in utterly strange
  7906.      and mysterious ways when trying to determine whether the user
  7907.      should be allowed to change the colour palette. In a nutshell,
  7908.      your basic waste of code, time & reliability.
  7909.  
  7910.    * Minor changes to the serial and terminal settings editors.
  7911.  
  7912.    * Part of the list management was badly broken, this affected in
  7913.      particular the upload list handling (the ARexx upload list, not
  7914.      the upload queue that has its own window). I'm not absolutely
  7915.      certain, but after going through the code for more than three
  7916.      hours I am no longer able to get the machine to crash through the
  7917.      ARexx "SENDFILE" command. It appears that the bug is fixed. Could
  7918.      you give this a try, Chris?
  7919.  
  7920.    * Caught some more cases in which list and node management routines
  7921.      could corrupt memory.
  7922.  
  7923.    * The ARexx "SENDFILE" command was sending the upload macro twice on
  7924.      exit.
  7925.  
  7926.    * Some text buffers handed over to dos.library in order to retrieve
  7927.      file names were not quite as long as `term' told dos they were.
  7928.      This could cause the usual kind of trouble, but only with very
  7929.      long file names.
  7930.  
  7931.    * The dialer did not update its OwnDevUnit watcher status when the
  7932.      serial device driver or the ODU options were changed.
  7933.  
  7934.    * Untag/tag by pattern was still broken, leading to weird select
  7935.      states in the phonebook.
  7936.  
  7937.    * Swapped the "Use" and "Copy" buttons in the phonebook [Chris
  7938.      Hanson].
  7939.  
  7940.    * Made the left button row of the phonebook a little smaller by
  7941.      changing the "Exit when finished" checkbox label to "Auto exit".
  7942.      Not that elegant and doesn't even avoid that the phonebook comes
  7943.      up on its own screen with a 640x200 sized display, but at least
  7944.      there is no longer so much of the window hidden from view. The
  7945.      only way to make the window a bit smaller would be to rename
  7946.      "Pattern..." to "Select..." or something, but I cannot do this
  7947.      anymore as the catalogs have been sent to the translators already
  7948.      :(
  7949.  
  7950.    * The checksumming code did not hit a nul-character, causing the
  7951.      startup to take much longer than necessary. It could also cause
  7952.      `term' to crash upon startup for no apparent reason.
  7953.  
  7954.    * Finally (!) managed to fit the phonebook on a 640x200 sized screen.
  7955.      The button size precalculation was using the wrong button data. It
  7956.      did not take the modifications of the phonebook button arrangement
  7957.      into account that took place in the previous betas.
  7958.  
  7959.    * Squeezed a few more bytes out of the user interface support library
  7960.      code.
  7961.  
  7962.    * Fixed non-reentrancy problem with the user interface support
  7963.      library.
  7964.  
  7965.    * Gave `term' a test on an old A500plus. It runs on an 68k Amiga with
  7966.      2 MBytes of main memory, but not very comfortably.
  7967.  
  7968.    * The grouping window in the phonebook did not always close when it
  7969.      had better closed down. Now it does.
  7970.  
  7971.    * Removed the font scale button from the emulation setings which came
  7972.      back when I restored page #3.
  7973.  
  7974. Changes introduced with v4.4:
  7975. *****************************
  7976.  
  7977.    * Threw out the optimized scrolling code. It could slow things down
  7978.      on slow computers and wasn't working particularly well either.
  7979.  
  7980.    * Removed the code that did the jump scrolling by taking a look at
  7981.      how many line feeds were received in one go. This could slow
  7982.      things down and interfere with on-screen rendering, such as with
  7983.      on-line games like "Perihelion".
  7984.  
  7985.    * Now uses gtlayout.library v13 to layout the menus; now many more
  7986.      menu items and menus fit onto small screens.
  7987.  
  7988.    * Screens and windows now open large enough for the status line
  7989.      display to fit.
  7990.  
  7991.    * Put the optimized scrolling code back in. It should now be able to
  7992.      behave itself in an orderly fashion.
  7993.  
  7994.    * The screen saving/printing code is now smart enough not to include
  7995.      the status line in the bitmap that it is going to be output.
  7996.  
  7997.    * The phonebook now uses a fixed-width font when running under
  7998.      Kickstart 2.04.
  7999.  
  8000.    * The status line display boxes are a bit wider now, so hopefully no
  8001.      data will be cut off any more.
  8002.  
  8003.    * Simplified the jump scrolling code a bit, eliminating another
  8004.      level of data filtering. This should remove the odd slowdown that
  8005.      would occur when the modem delivered a large chunk of data.
  8006.  
  8007.    * Changed the way the download procedure queries how much space is
  8008.      still left on the destination filing system. This time it should
  8009.      get it right.
  8010.  
  8011.    * Fixed a weird memory alignment problem in the double-buffered file
  8012.      handling code.
  8013.  
  8014.    * Saving/loading the fast macro settings is now properly remembered,
  8015.      so `term' will no longer tell you that the settings have been
  8016.      changed upon exit unless they have really been changed and not
  8017.      saved to disk yet.
  8018.  
  8019.    * In the paged settings editors for screen, terminal and capture
  8020.      prefs the displays for screen mode and font no longer auto expand
  8021.      with their contents.
  8022.  
  8023.    * Insert mode now works properly again [Andreas Kirchwitz].
  8024.  
  8025.    * Fixed an Enforcer hit in the emulation settings when called from
  8026.      the phonebook [Matthias Scheler].
  8027.  
  8028.    * Fixed locale string lookup bug in file identification code, also
  8029.      added PNG file signature.
  8030.  
  8031.    * `term' no longer refuses to dial out if the modem is still online
  8032.      and the `protective mode' is enabled. In this case, a requester
  8033.      will pop up and ask you if you want to hang up the line before
  8034.      dialing out.
  8035.  
  8036.    * Small fixes for deep CyberGfx screens (15 bits and up).
  8037.  
  8038.    * The check to see if the serial device driver you picked from the
  8039.      list did really exist was looking at the wrong buffer.
  8040.  
  8041.    * The dialer checked for modem errors, but the scanner responsible
  8042.      for catching the modem message never actually passed this
  8043.      information to the dialer.
  8044.  
  8045.    * Changed the machine readable version number string; it now includes
  8046.      information to explain for which type of machine the program was
  8047.      compiled.
  8048.  
  8049.    * Added new "Direct connection" option to the serial settings. If
  8050.      enabled, this switch suppresses RTS/CTS warnings and disables the
  8051.      carrier check. This is useful for direct nullmodem connections and
  8052.      for using the Amiga as a dumb terminal.
  8053.  
  8054.    * Moved the "Alert" switch from the terminal settings to the
  8055.      miscellaneous settings. This made it necessary to bump the program
  8056.      revision number to v4.4.
  8057.  
  8058.    * You can now configure the opening size and position of the
  8059.      standard asl requesters (file, font, display mode) in the misc
  8060.      settings. Just select the positioning mode you want (centered or
  8061.      placed relative to the top left corner of the main window) and
  8062.      click on the "Edit..." button. A file requester window will open.
  8063.      Drag it to the position you want and change its size if necessary,
  8064.      then click on "Use". `term' will keep position and size as default
  8065.      values for the requesters to open.
  8066.  
  8067.    * Rearranged some settings editors, made some room between
  8068.      neighbouring radio buttons and checkboxes, added `Tab' key support
  8069.      to some editors which were missing this feature.
  8070.  
  8071.    * The notorious screen cloning feature did not work in previous
  8072.      releases, in fact gtlayout.library was broken in many ways and
  8073.      badly needed updating [Klaus Dürr].
  8074.  
  8075.    * Added LZX archive file type.
  8076.  
  8077.    * Sorry, no speedbar in this release, I just currently don't have
  8078.      the time to do it :(
  8079.  
  8080.    * Added another character send delay option, this time to the modem
  8081.      settings. Some weird east-asian built v.34 compliant modems will
  8082.      happily operate at 57600 BPS, but get into real trouble when
  8083.      receiving plain modem dialing and initialization commands. The
  8084.      characters come in just too fast. A little delay between the
  8085.      characters being sent may help.
  8086.  
  8087.    * The `about' window now sports scrolling credits.
  8088.  
  8089.    * The phonebook will no longer load empty configuration items (key
  8090.      macros, fast macros, etc.) to edit if the names of the files are
  8091.      not given.
  8092.  
  8093.    * Due to a bunch of internal changes in order to support scaled
  8094.      characters in more consistent fashion, the option to select
  8095.      half-width characters was removed from the emulation settings. Cut
  8096.      & paste with non-normal sized characters still does not work
  8097.      properly on the screen.
  8098.  
  8099.    * Redid the logic for the RTS/CTS (DSR check) handshaking mode.
  8100.      `term' now opens the serial device driver with RTS/CTS handshaking
  8101.      disabled, checks the DSR signal and then if necessary closes the
  8102.      device driver and reopens it with RTS/CTS handshaking enabled.
  8103.  
  8104.    * `term' no longer locks the serial device driver for exclusive
  8105.      access through OwnDevUnit.library when told to open the driver in
  8106.      shared mode.
  8107.  
  8108.    * Loading the configuration and then choosing "Save configuration"
  8109.      from the main menu will save the current settings under the name
  8110.      of the configuration file loaded last.
  8111.  
  8112.    * The cursor key control panel now sports a "Default" button.
  8113.  
  8114. Changes introduced with v4.3:
  8115. *****************************
  8116.  
  8117.    * Fixed an Enforcer hit in the code that would open the file
  8118.      transfer window in case of error.
  8119.  
  8120.    * Colour palettes are now 24 bits wide (in reality even 96 bits, but
  8121.      the user interface does not support this precision).
  8122.  
  8123.    * Added support code for AmigaUW terminal window resizing.
  8124.  
  8125.    * Fixed another bug in gtlayout.library which would cause trouble
  8126.      with palette editor gadgets using only two colours.
  8127.  
  8128.    * Fixed another Enforcer hit in the XEM settings editor.
  8129.  
  8130.    * Updated the screen settings editor. It no longer displays options
  8131.      that cannot be changed.
  8132.  
  8133.    * The "Dial number" function would use the wrong temporary buffer
  8134.      when prompting to enter the number to dial.
  8135.  
  8136.    * Opening the status window no longer causes crashes. It was the
  8137.      call to DateStamp() and DateToStr() which caused the Task to
  8138.      handle the status window to crash. It's a process now.
  8139.  
  8140.    * Cut & paste while the chat line is active now works properly.
  8141.  
  8142.    * The chat line is now unavailable if an external terminal emulation
  8143.      is active.
  8144.  
  8145.    * The dialing menu items now get properly disabled if the program
  8146.      starts up in online state.
  8147.  
  8148.    * Made the only (!) call in gtlayout.library which could cause
  8149.      AmigaDOS to be called an option for Processes only. It will no
  8150.      longer crash when called by a Task.
  8151.  
  8152.    * When running under Kickstart 2.04, the screen overscan mode is by
  8153.      default set to the text overscan size.
  8154.  
  8155.    * The built-in ASCII transfer windows now also get size- adjusted in
  8156.      order to avoid overlapping the status line.
  8157.  
  8158.    * Added a startup notice to explain that *this* really is a beta
  8159.      test release.
  8160.  
  8161.    * The program now consists only of load hunks smaller than 100000
  8162.      bytes each. This should make it possible to load the program even
  8163.      if the system memory is greatly fragmented.
  8164.  
  8165.    * Finally discovered why the rate panel editor would swallow the
  8166.      first cost entry. Turning off the SAS/C global optimizer did the
  8167.      trick.
  8168.  
  8169.    * The chat line text could become unreadable with some text pen
  8170.      choices. According to the BOOPSI documentation my original code
  8171.      was correct, but I discovered that the ROM code actually expects a
  8172.      different data format.
  8173.  
  8174.    * The colour palette management code would not work properly under
  8175.      Kickstart 2.04.
  8176.  
  8177.    * Fixed three long standing bugs in the terminal emulation code. If
  8178.      a command would erase/clear more lines/characters than the screen
  8179.      would hold memory trashing was not to be avoided. This has been
  8180.      fixed.
  8181.  
  8182.    * An uninitialized variable in the colour palette setup code could
  8183.      cause real trouble, crashing the machine almost instantly.
  8184.  
  8185.    * The review buffer process did not protect itself against sudden
  8186.      removal, leading to crashes after the review window was closed.
  8187.  
  8188.    * The "READ CR" ARexx command now does again what it should do.
  8189.  
  8190.    * The code that would cause Enforcer hits within rexxsyslib.library
  8191.      was rewritten to use a different technique to tell free messages
  8192.      and Rexx messages apart.
  8193.  
  8194.    * The AmigaUW TTY resizing code would crash the machine if the
  8195.      serial device was unavailable. This would happen for example if
  8196.      the serial device driver did not open upon startup.
  8197.  
  8198.    * The dialing window now displays which dial list entry will be
  8199.      dialed next when in redial delay mode.
  8200.  
  8201.    * `term' now properly allocates its work bitmaps when running under
  8202.      Kickstart 3.x, previously it would occasionally fall back to
  8203.      constructing bitmaps on its own which could cause speed penalties.
  8204.  
  8205.    * Another one bites the dust. Found a really long standing bug in
  8206.      the double-buffered file routines. Can you say buffer trashing,
  8207.      memory losses, crashes? The code used to be very vulnerable to
  8208.      memory shortages. I fixed this and also threw in some extra code
  8209.      to make the buffers quad-longword aligned to help '040 systems
  8210.      with DMA hard disk controllers.
  8211.  
  8212.    * There is now a bit of new code in the program which opens
  8213.      gtlayout.library. If there still is an old library release in
  8214.      memory it gets flushed first, then the library is reopened.  This
  8215.      has the effect of forcing the library to get reloaded from disk.
  8216.  
  8217.    * Even more changes to the terminal emulation code; previous
  8218.      releases always ignored the current background colour when
  8219.      clearing lines, the screens or moving text around. This has been
  8220.      fixed. Some code also did BitMap peeking which is strictly
  8221.      speaking not allowed. When using fonts with an odd height smooth
  8222.      scrolling could leave pixel trash behind.  Some routines, notably
  8223.      those responsible for scrolling and erasing display text, never
  8224.      made sure that the area to scroll/erase was within valid bounds.
  8225.      As the low-level routines always counted upon this data to be
  8226.      correct nasty crashes could result. Some of the new code is far
  8227.      from being highly efficient, but should be much more robust than
  8228.      the old routines. Anyway, those folks looking for a high-speed
  8229.      terminal emulation probably have already chosen a different
  8230.      program.
  8231.  
  8232.    * The screen settings editor would occasionally assign the wrong
  8233.      colour palette to phone book entry configurations.  This has been
  8234.      fixed.
  8235.  
  8236.    * The routine to reset the text colours to something readable did
  8237.      not take the new emulation pen settings into account. This has
  8238.      been fixed.
  8239.  
  8240.    * To aid debugging, there is a new switch in the modem settings
  8241.      which tells the dialer to echo commands sent to the modem and to
  8242.      show the modem responses.
  8243.  
  8244.    * Added another switch to the misc. settings editor. You can now
  8245.      disable those annoying "File ... already exists, do you want to
  8246.      replace it?" requesters.
  8247.  
  8248.    * Major revamp of the file transfer settings editor. First off, it's
  8249.      no longer that tall. The "Page" cycle gadget cycles through all
  8250.      the individual entries. As there are: the default protocol, the
  8251.      ASCII transfer settings, the text transfer settings and the binary
  8252.      transfer settings. For each protocol you will find another cycle
  8253.      gadget, a text entry field and a big, friendly button labeled
  8254.      "Edit settings...". The cycle gadgets will let you choose between
  8255.      2..4 possible settings for each protocol. "XPR library" uses the
  8256.      good old XPR interface, the text entry field holds the name of the
  8257.      library to use. "Internal" uses the built-in code. "Default" uses
  8258.      the default protocol. "External program" selects an external
  8259.      program to handle the file transfer, the text entry field holds
  8260.      the name of the program and possible program parameters. If using
  8261.      the "External program" mode clicking on the downward pointing
  8262.      `select' button will bring up another editor. Here you can choose
  8263.      the program to use and you can edit the command line options it
  8264.      should use. Pressing a button will append the corresponding escape
  8265.      sequence:
  8266.  
  8267.     `1 File (= %f)'
  8268.           Inserts a single file name when the program is executed.  A
  8269.           file requester will pop up if necessary.
  8270.  
  8271.           *NOTE: Case matters; %f inserts the file name along with its
  8272.           complete path %F inserts the plain file name only, omitting
  8273.           the path.*
  8274.  
  8275.     `Files (= %m)'
  8276.           Inserts a list of file names when the program is executed.  A
  8277.           file requester will pop up if necessary.
  8278.  
  8279.           *NOTE: Case matters; %m inserts the file names along with
  8280.           their complete paths, %M inserts the plain file names only,
  8281.           omitting their paths.*
  8282.  
  8283.     `Port (= %p)'
  8284.           Inserts the ARexx port name `term' is currently using.  Very
  8285.           useful in conjunction with HydraCom.
  8286.  
  8287.     `Device (= %d)'
  8288.           Inserts the name of the serial device driver `term' is
  8289.           currently using. This comes in handy with external programs
  8290.           which permit sharing a device driver with other programs.
  8291.  
  8292.     `Unit (= %u)'
  8293.           Inserts the serial device driver unit number `term' is
  8294.           currently using. This comes in handy with external programs
  8295.           which permit sharing a device driver with other programs.
  8296.  
  8297.     `Source (= %<)'
  8298.           Inserts the name of the upload path for the current transfer
  8299.           mode (ASCII, text, binary).
  8300.  
  8301.     `Dest. (= %>)'
  8302.           Inserts the name of the download path for the current
  8303.           transfer mode (ASCII, text, binary).
  8304.  
  8305.     `Screen (= %s)'
  8306.           Inserts the name of the public screen `term' is running on.
  8307.  
  8308.           *NOTE: May be an empty string.*
  8309.  
  8310.     `BPS rate (= %b)'
  8311.           The currently selected transfer speed in bits/second.
  8312.  
  8313.     `Connect. rate (= %c)'
  8314.           The transfer speed your modem made the connection with.
  8315.  
  8316.           *NOTE: this will be the same value as given by %b if the
  8317.           modem is not currently connected.*
  8318.  
  8319.      The escape sequence %% expands into %, in case you need it. The
  8320.      file transfer functions support the upload list window and the
  8321.      ARexx file transfer list: if %f/%F/%m/%M escape sequences are
  8322.      found in the command line text they will be replaced by the upload
  8323.      list if necessary. Please note that when using an external program
  8324.      no file names will be removed from the ARexx upload list. Here are
  8325.      two examples to get you started:
  8326.  
  8327.      `run hydracom device %p speed %b line %c nocarrier rec %> get'
  8328.  
  8329.      This will invoke hydracom and start downloading into your download
  8330.      drawer. Put this in to the "Receive" field of your binary transfer
  8331.      settings.
  8332.  
  8333.      `run hydracom device %p speed %b line %c nocarrier rec %> send %m'
  8334.  
  8335.      This will also invoke hydracom. First you will be asked to select
  8336.      the files to send, then hydracom will transmit them. Put this into
  8337.      the "Send" field of your binary transfer settings.
  8338.  
  8339.      `term' runs these commands in synchronous fashion, this is why the
  8340.      "run" command is necessary above. Hydracom needs to interface to
  8341.      `term' while it is running and not currently waiting for the
  8342.      command to complete its task. Aside from the fact that commands
  8343.      are executed in synchronous fashion, they are started just as if
  8344.      you would invoke them using the "Execute AmigaDOS command..."
  8345.      function.
  8346.  
  8347.    * Fixed a security hole in the review buffer processing code.
  8348.      Previously, the review buffer window could easily lock up when
  8349.      receiving new data.
  8350.  
  8351.    * Rewrote most of the carrier tracking code. If the carrier is lost
  8352.      during a file transfer `term' will now properly notice that it is
  8353.      no longer online and run through the usual cleanup procedures.
  8354.  
  8355.    * More changes to the file transfer settings; for each protocol you
  8356.      use you can now define a specific signature. If `term' sees this
  8357.      signature in the input data stream it will automatically invoke the
  8358.      protocol in question. The exception is the default protocol which
  8359.      is handled a bit differently. There is no distinction between an
  8360.      upload and a download protocol, since this is how the default
  8361.      protocol works. If the default protocol is an XPR library the
  8362.      library will be open all the time. Whenever the default protocol
  8363.      is invoked, you will be prompted to select the transfer type (text
  8364.      or binary as usual). For auto-activating XPR protocols the
  8365.      signatures will probably be ignored.
  8366.  
  8367.      *IMPORTANT: If you are using the Z-Modem auto-upload feature you
  8368.      *MUST* invoke the transfer settings and pick the send signature
  8369.      for the default protocol. Click on the select button at the right
  8370.      side of the "Signature" text entry field. From the list that pops
  8371.      up select "Z-Modem" and save your settings back to disk. If you
  8372.      fail to do so, Z-Modem auto-uploads will *NOT* work.*
  8373.  
  8374.      The signatures are scanned in the following order:
  8375.  
  8376.      Default protocol (upload)   Default protocol (download)   ASCII
  8377.      upload   ASCII download   Text upload   Text download   Binary
  8378.      upload   Binary download
  8379.  
  8380.      This means that if you use the same signature for the Default
  8381.      protocol and the Binary upload then the Default protocol will be
  8382.      invoked.
  8383.  
  8384.      For now, there are only three signatures built into the program
  8385.      that can be picked from a list: Z-Modem, Hydra and QuickB. QuickB
  8386.      really is not a true signature since it consists only of the ENQ
  8387.      character. Please note that different built-in signature lists
  8388.      will be presented for the upload and download settings.
  8389.  
  8390.      For xprzmodem.library it only makes sense to use the upload
  8391.      signature.  Starting with v2.0 the library will always filter out
  8392.      the download signature and start the download process all on its
  8393.      own.
  8394.  
  8395.      Hydra is a bit of a problem as it uses the same signature both for
  8396.      uploads and downloads. Take care; if things don't work as they
  8397.      should it may be better to delete the Hydra signature.
  8398.  
  8399.      And before I forget to mention it: the signatures are entered in
  8400.      the (hopefully) familiar command sequence syntax, e.g. ^X stands
  8401.      for Control+X and \ stands for the backslash.
  8402.  
  8403.    * The "\c <Menu name>" control sequence now checks if the menu
  8404.      function it is about to call is enabled.
  8405.  
  8406.    * Even more changes to the file transfer settings; I moved some data
  8407.      from the misc settings over here. However, this beta version does
  8408.      not move your misc settings values over into the transfer settings.
  8409.      You need to to this manually.
  8410.  
  8411.    * Renamed "Overwrite warning" to "Protective mode". Now this is what
  8412.      it does: in every situation (overwriting files, clearing the
  8413.      buffer, quitting the program, releasing the serial device driver,
  8414.      choosing a file/drawer/program) `term' now runs a test to see if
  8415.      either the settings are valid or asks if the user really wants to
  8416.      do what he is about to do (it's not that we don't trust you).
  8417.      Using the "Protective mode" switch you can turn off all those
  8418.      sanity checks.
  8419.  
  8420.    * Added another two terminal emulation control sequences for "ANSI"
  8421.      compliance.
  8422.  
  8423.    * The menu "Wait" command requester can now be closed with a single
  8424.      keystroke.
  8425.  
  8426.    * The program now uses special magic to make sure that all AmigaDOS
  8427.      and ARexx programs started receive proper search paths.
  8428.  
  8429.    * The button labels "|<", "<", ">" and ">|" have been replaced by
  8430.      proper glyphs.
  8431.  
  8432.    * The code to build the command line for external transfer protocols
  8433.      did not handle empty strings correctly. It does now.
  8434.  
  8435.    * The Hydracom example invocation commands listed in the previous
  8436.      section of this document were not correct. If you are using this
  8437.      protocol, please update the command lines as described in the
  8438.      previous section.
  8439.  
  8440.    * Any requester that shows just a single "Continue" button can now
  8441.      be closed with a single keystroke.
  8442.  
  8443.    * The status window now properly displays the name of the currently
  8444.      connected BBS.
  8445.  
  8446.    * Slight changes and enhancements to the user interface code.
  8447.  
  8448.    * String gadgets are now properly aligned in columns in the path and
  8449.      command settings editors.
  8450.  
  8451.    * The prescrolling/jump scrolling code now gets `out of the way' if
  8452.      the background colour is currently nonzero.
  8453.  
  8454.    * Slightly improved low-memory stability, especially during the
  8455.      initial setup procedure.
  8456.  
  8457.    * The "You don't have RTS/CTS handshaking enabled..." request now
  8458.      enables RTS/CTS handshaking with DSR checking if the user decides
  8459.      so.
  8460.  
  8461.    * The emulation pen selection now supports public screens again.
  8462.      Please note that the implementation is not perfect (which was the
  8463.      primary reason for disabling it in v4.2) and may not work properly
  8464.      when using the keyboard to pick the colours, i.e.  keystroke
  8465.      activation may produce unexpected results.
  8466.  
  8467.    * Added new tooltype/shell argument to specify the language the
  8468.      program is to use.
  8469.  
  8470.    * Some of the settings windows are now resizable. Please tell me if
  8471.      this causes any problems. The code is still a bit weird, for
  8472.      example some window sizes can cause the gadgets to overlap the
  8473.      window borders by one or two pixels.
  8474.  
  8475.    * Small changes to the user interface code. Fixed the notorious
  8476.      double-click bug.
  8477.  
  8478.    * The AmigaUW terminal resizing code would get invoked before the
  8479.      internal lines/columns variables were set up properly, causing the
  8480.      display to get messed up. This has been fixed.
  8481.  
  8482.    * When invoking an external file transfer protocol the program now
  8483.      checks if the file name given refers to an ARexx script (it reads
  8484.      the first 256 characters and looks for the comment that identifies
  8485.      an ARexx script), a plain AmigaDOS script (it takes a look at the
  8486.      script file attribute) and eventually accepts the program name as
  8487.      it is. If a file is identified as being a script file it receives
  8488.      special treatment.
  8489.  
  8490.    * Added another friendly reminder in case the user has enabled the
  8491.      "Connect auto-baud" switch. Apparently, a lot of users have this
  8492.      switch enabled without really knowing what it does and will get
  8493.      into real trouble when making a connection.
  8494.  
  8495.    * The chat line now gets activated when invoked via menu.
  8496.  
  8497.    * When failing to allocate enough colours for the terminal window
  8498.      `term' now falls back to four colour mode.
  8499.  
  8500.    * Rewrote the dialer (again). If you press skip/abort it will now do
  8501.      what it should do rather than ignoring your commands.  The
  8502.      original serial configuration also gets properly restored if the
  8503.      dialer fails to make a connection. Various nice side effects are
  8504.      included. For example, if in waiting state pressing the abort
  8505.      button immediately exits.
  8506.  
  8507.    * After finding out that the window resizing code did not work
  8508.      properly in programs derived from the review buffer window
  8509.      handling code I gave the original resizing routine another rewrite.
  8510.  
  8511.    * The ARexx "SEND" command now sports a new "LITERAL" option.  With
  8512.      this option the text to send will be transmitted literally, no
  8513.      embedded command sequences or special characters will be evaluated.
  8514.  
  8515.    * The chat line text entry field no longer filters control
  8516.      characters, even if you enabled this feature in the IControl
  8517.      system preferences editor.
  8518.  
  8519.    * The text buffer screen could hang when choosing to clear the
  8520.      buffer contents from the menu. This has been fixed.
  8521.  
  8522.    * The colour remapping that usually took place only in two colour
  8523.      mode (which tries to avoid mapping the same colour to text
  8524.      background and foreground) now also gets applied in four and eight
  8525.      colour modes. Previously, it would ignore the colour mode the user
  8526.      had chosen and just take a look at the depth of the screen the
  8527.      program was using. This could cause all kinds of trouble when
  8528.      running on a 256 colour public screen.
  8529.  
  8530.    * When running on its own public screen with a window border `term'
  8531.      could crash if there were still visitor windows open on the public
  8532.      screen.
  8533.  
  8534.    * `term' now opens screens as large as possible if the screen
  8535.      settings indicate a specific screen size, but the user has no
  8536.      means to change them. In previous program releases you would get
  8537.      whatever was found in the screen settings, even if you didn't have
  8538.      asl.library v38 or higher handy to change the dimensions.
  8539.  
  8540.    * The xON/xOFF handling code works a bit differently now. If you
  8541.      have the "Internal xON/xOFF handling" switch enabled in the serial
  8542.      settings `term' will now go into `holding' state when you press
  8543.      Control+S (= xON). To return to normal operation, press Control+Q
  8544.      (= xOFF). If the "Pass xON/xOFF through" switch is enabled, both
  8545.      xON/xOFF characters will be sent through to the remote, otherwise
  8546.      `term' will swallow them. The big difference between this handling
  8547.      and the old style of doing things is that `term' will no longer
  8548.      drop into `holding' state when receiving an xON character from the
  8549.      remote. The only way to bring `term' into `holding' state is by
  8550.      pressing Control+S.
  8551.  
  8552.    * The chat line now passes control characters and function key
  8553.      macros through to the main program as you type them, i.e. they
  8554.      will not show up in the text you type. The Tab key is special; if
  8555.      pressed, the tab character will be passed through to the main
  8556.      program. If you press Control+I the character will show up in the
  8557.      chat line.
  8558.  
  8559.    * Added a shortcut to select between pulse dialing and tone dialing.
  8560.      This requires that your dial prefix or suffix command includes the
  8561.      special command sequence \W. This sequence will translate into P
  8562.      for pulse dialing and into T for tone dialing. So in order to take
  8563.      advantage of this feature, you should change your dialing command
  8564.      to ATD\W and select the dialing mode you want. Please note that
  8565.      the dial mode option will be disabled if there is no \W in the
  8566.      dial prefix and dial suffix.
  8567.  
  8568.    * The default serial and modem setups are a bit different now.  As
  8569.      always, the program first tries to read the global system serial
  8570.      settings and converts them if necessary. If RTS/CTS handshaking is
  8571.      enabled, it now enables the RTS/CTS handshaking mode with DSR test
  8572.      in order to avoid lockups. If the serial settings could not be
  8573.      read the default setup now is 19,200 BPS, 8-N-1 and RTS/CTS
  8574.      handshaking with DSR checking. The modem settings no longer
  8575.      include "ATZ\r" as the modem init command, the dial prefix now
  8576.      reads "ATD\W" and the default dial mode is tone dialing.
  8577.  
  8578.    * The default screen display mode settings are now taken from the
  8579.      default public screen.
  8580.  
  8581.    * Added another friendly reminder that is displayed whenever you
  8582.      upgrade from an older program release or start the program for the
  8583.      first time. The reminder will be displayed every time you start
  8584.      the program until you save the program settings.
  8585.  
  8586.    * Pasting the current clipboard contents now optionally converts
  8587.      line feed characters into carriage returns (there is a new option
  8588.      in the clipboard settings for this purpose).
  8589.  
  8590.    * `term' used to fake an immediate XPR abort by returning a read
  8591.      error in xpr_sread() in case the user had pressed the abort
  8592.      button. This really should not be necessary, I just rewrote the
  8593.      code to abort the read prematurely and to return whatever came in
  8594.      so far. This implies the hope that the protocol will eventually
  8595.      drop into xpr_chkabort() and find out what's cooking.
  8596.  
  8597.    * The chat line now gets properly redrawn even if the status line is
  8598.      currently turned off or sitting in a separate window.
  8599.  
  8600.    * When copying the contents of the screen to the clipboard `term'
  8601.      now converts alien IBM characters into ISO characters. This is a)
  8602.      required for the IFF FTXT format in which text gets stored in the
  8603.      clipboard and b) no longer causes invalid data to show up in the
  8604.      output stream when pasting the contents of the clipboard.  Put
  8605.      another way, in earlier releases the IBM style characters would go
  8606.      unmodified into the buffer. When pasting the clipboard contents,
  8607.      they would then get `converted' into IBM style characters as
  8608.      `term' always expected ISO characters to be found in the clipboard
  8609.      (garbage in -> even more garbage out). Nasty, isn't it?  Thanks go
  8610.      to Stephen Bowman for telling me about the problem.
  8611.  
  8612.    * Under some circumstances the text buffer would get the text font
  8613.      width all wrong, causing characters to be left behind when
  8614.      scrolling the page. This has been fixed.
  8615.  
  8616.    * Cleaned up gtlayout.library for release, window resizing now works
  8617.      a tad better, although the visual effects are not quite that
  8618.      striking. But then perhaps they are striking, which is why they
  8619.      haven't returned to work yet.
  8620.  
  8621.    * `term' also takes care of the screen size now when falling back to
  8622.      a usable screen mode. This should cure the notorious "half height
  8623.      screen" problem.
  8624.  
  8625.    * The cancel button now does what it should do in the date panel and
  8626.      the modem panel.
  8627.  
  8628.    * Changed the way how colours are assigned to drawing pens if the
  8629.      selected colours cannot be displayed. The previous method only made
  8630.      sure that there is no black text on a black background, the changes
  8631.      now also take care of white text on white background.
  8632.  
  8633.    * More changes to the XPR abort handling code; the first request to
  8634.      cancel the transmission while xpr_sread() is being executed now
  8635.      properly follows the rules of how to do things (it stops the read
  8636.      request prematurely and gives the protocol a chance to call
  8637.      xpr_chkabort() and to eventually find out what the user wanted).
  8638.      If you hit cancel again it will - as `term' used to do in previous
  8639.      releases - abort the read request, send a bunch of CAN characters
  8640.      and return with an error. Martin Berndt suggested this.
  8641.  
  8642.    * I know some of you won't like it, but the following settings
  8643.      editors are now `paged' to save much space: serial, modem, screen,
  8644.      terminal, emulation, capture and transfer. The nice thing about
  8645.      the new look is that it allows me to save on something else:
  8646.      cryptic abbreviations.
  8647.  
  8648.    * Discovered some old code left over from prehistoric program
  8649.      releases.  The local museum wasn't interested, so I just discarded
  8650.      it.  Unfortunately, the total program size did not drop sharply
  8651.      after I did so.
  8652.  
  8653.    * Whoops, the sound settings editor did not check for `empty' strings
  8654.      and could tell you that it was unable to locate the file "".
  8655.  
  8656.    * The picker button of the "Help file" text editing field in the path
  8657.      panel now does what it should do.
  8658.  
  8659.    * More changes to gtlayout.library, it now respects the window bottom
  8660.      border size gadget and allows the Tab key to be used for cycling
  8661.      through paged settings editors.
  8662.  
  8663.    * The clipboard and paths settings editors are now paged.
  8664.  
  8665.    * In paged settings editors, pressing the Tab key cycles through the
  8666.      pages.
  8667.  
  8668.    * Shortened the english friendly startup reminder message so it fits
  8669.      on NTSC screens.
  8670.  
  8671.    * When starting up for the first time, `term' no longer complains
  8672.      about missing DSR signals or notifies the user that RTS/CTS
  8673.      handshaking should be enabled. This is done in order to avoid
  8674.      confusion, the reminders and messages will follow later when the
  8675.      user makes the first changes and saves them to disk.
  8676.  
  8677.    * The XPR transfer window no longer warns about files not fitting on
  8678.      filing system which look suspiciously like ram disks, i.e. are not
  8679.      clearly identified as block mapped filing systems.
  8680.  
  8681. Changes introduced with v4.2:
  8682. *****************************
  8683.  
  8684.    * Did not set up serial parameter correctly (nasty, those typos!).
  8685.  
  8686.    * HydraCom could cause `term' to hang upon startup.
  8687.  
  8688.    * Increased the width of all the integer gadgets in the rates
  8689.      settings panel.
  8690.  
  8691.    * Incrementer arrows did not work properly in all settings panels,
  8692.      this was due to a bug in the SAS/C optimizer which caused
  8693.      gtlayout.library to run into trouble.
  8694.  
  8695.    * When called from the phonebook, the "Standard" button as shown by
  8696.      the translation table settings panel will cause the translation
  8697.      settings to be reset to standard values.
  8698.  
  8699.    * Text stored in the buffer did not get bit 7 stripped if this
  8700.      feature was enabled in the serial settings.
  8701.  
  8702.    * New look slider gadgets (requires gtlayout.library v5).
  8703.  
  8704.    * Numerous bug fixes in the user interface support library.
  8705.  
  8706.    * Rewrote the text buffer capture routines, there should no longer
  8707.      be extra, unwanted data in the buffer.
  8708.  
  8709.    * Fixed the overly wide incrementer arrow bug which caused so much
  8710.      trouble in previous releases.
  8711.  
  8712.    * Reloading the fast macros when making a new connection did not
  8713.      update the fast macro window.
  8714.  
  8715.    * In the area codes editor, creating a new entry and moving it
  8716.      around no longer leads to unexpected results.
  8717.  
  8718.    * There was a typo in the source code which prevented the EOL
  8719.      translation settings from getting changed via ARexx.
  8720.  
  8721.    * For a phonebook entry dialed, the startup and login macros are now
  8722.      executed in sequence rather than in parallel.
  8723.  
  8724.    * New capture settings options "Convert characters": if enabled
  8725.      along with the capture filter, text stored in the text buffer and
  8726.      the capture file will be converted into proper ISO characters.
  8727.      This effectively discards unprintable IBM font style characters.
  8728.      Note that this option will do nothing if you are using the standard
  8729.      text font rather than the IBM text font. Also keep in mind that
  8730.      this special text filter will always be enabled for printer
  8731.      captures in order to avoid nasty side-effects. The text and review
  8732.      buffers will no longer use the IBM PC style font if this option is
  8733.      in effect.
  8734.  
  8735.    * In the emulation settings you will find a new switch labeled "Lock
  8736.      wrapping" which will let you lock the current line wrapping mode
  8737.      so that application software and terminal resets will no longer
  8738.      modify it.
  8739.  
  8740.    * Added another two `lock' options. Now you can choose to lock the
  8741.      current text colour and the text rendering style. Take care, the
  8742.      `Reset styles' and `Reset terminal' options will no longer change
  8743.      colour and style once they are locked.
  8744.  
  8745.    * Made sure that interleaved screens work properly. They do now.  If
  8746.      you still see text scrolled or erased plane by plane you're either
  8747.      hallucinating or you have the PICASSO monitor driver installed
  8748.      which has the systemwide effect of making the operating system
  8749.      ignore requests to use interleaved bitmaps.
  8750.  
  8751.      Closer examination has revealed that the interleaved bitmap stuff
  8752.      did not work properly when using Kickstart v2.04. In fact,
  8753.      Kickstart v3.0 is the first operating system release which fully
  8754.      supports interleaved bitmaps for all graphics rendering calls.
  8755.      Previous releases did not take advantage of them, even if set up
  8756.      properly. Sorry folks, you won't be able to use this feature under
  8757.      Kickstart v2.04 any more: I removed the necessary support routines.
  8758.  
  8759.    * Added pen and text attribute translation. In the emulation
  8760.      settings you will find an option to select nonstandard pens.  In
  8761.      this case, these pens refer to the terminal emulation rendering
  8762.      pens and text attributes.
  8763.  
  8764.    * Tweaked the terminal emulation parser to swallow the Amiga
  8765.      specific commands to turn the cursor on or off (aSCR).
  8766.  
  8767.    * The device/library selection now also includes ROM-resident
  8768.      modules. At least one multiserial board includes a driver in its
  8769.      ROM rather than on disk. In older releases, this particular driver
  8770.      did not show up in the list, causing users to believe their boards
  8771.      to be damaged.
  8772.  
  8773.    * Changed the audio channel allocation priority. In previous program
  8774.      releases the channels could be stolen, causing `term' to hang or
  8775.      crash. Now it's DeliTracker to break down, not `term' ;-)
  8776.  
  8777.    * Cloning a phonebook entry did not duplicate the corresponding
  8778.      transfer settings. This has been fixed.
  8779.  
  8780.    * The serial settings now sport an additional OwnDevUnit control
  8781.      switch. You can now choose to ignore requests to release the
  8782.      serial device driver or to have the device released, causing
  8783.      `term' to check in intervals of 4 seconds if the device has become
  8784.      available again. The default behaviour (the device driver is
  8785.      released) is still supported.
  8786.  
  8787.    * There is another sound options, called `Error sound'. `term' will
  8788.      play this sound if a certain number of transfer errors have
  8789.      occured. The number of errors to occur can also be set in the
  8790.      transfer settings editor.
  8791.  
  8792.    * You can now select when the file transfer routines should notify
  8793.      you. You can be notified both at the beginning and the end of the
  8794.      transfer, just at the beginning, just at the end or even never.
  8795.  
  8796.    * The program no longer reports phone rates after losing a
  8797.      connection if there is no sensible data to report.
  8798.  
  8799.    * The "WAIT" command did apparently pay attention to the case of
  8800.      characters passed in when scanning the wait list for matching
  8801.      entries. This has been fixed.
  8802.  
  8803.    * For some strange reasons, the VT100 supplementary graphics
  8804.      character set never got loaded. This has been fixed.
  8805.  
  8806.    * Rewrote the status line display code (yet again). When running on
  8807.      a custom screen you probably won't see any difference, but: open
  8808.      `term' on a public screen and watch your system performance. No
  8809.      more deadlocks, no more sluggish mouse movements, no more CPU
  8810.      hogging. The display window is a bit larger, but this hopefully
  8811.      won't be a problem. After all, the window mode is usable now.  The
  8812.      old BOOPSI code is gone and will probably never return. The new
  8813.      code is in many ways quite a bit nicer than the old code. For
  8814.      example, it is synchronized with the window size changes. As soon
  8815.      as the terminal adapts itself to the new window size, so does the
  8816.      status line display.
  8817.  
  8818.    * The review buffer window text rendering colours would also get set
  8819.      to some value when opening the program on a custom screen. It now
  8820.      leaves the text colour untouched in this case.
  8821.  
  8822.    * The main window position is now saved along with the main settings.
  8823.  
  8824.    * Finally added the one-line chat text entry field which surely is
  8825.      no replacement for the packet window, but nevertheless I hope at
  8826.      least some folks will find it useful. No split-screen chat yet,
  8827.      sorry.
  8828.  
  8829.    * The `dial number' requester now remembers phone numbers between
  8830.      calls.
  8831.  
  8832.    * The quick dial menu now gets disabled if the modem is online.
  8833.  
  8834.    * The ASCII transfer menu items no longer get disabled if the
  8835.      internal transfer routines are selected and the XPR ascii transfer
  8836.      lib names are blank.
  8837.  
  8838.    * Updated the font selection code for text and review buffer
  8839.      displays. The review buffer now runs as a Process, so it can open
  8840.      disk resident fonts if it needs to.
  8841.  
  8842.    * Fixed a few bugs in the SETATTR ARexx command.
  8843.  
  8844.    * Auto-expanding control panels, such as the phonebook and the file
  8845.      transfer window no longer obscure the status line display.
  8846.  
  8847.    * The program now properly pays attention to the number of lines to
  8848.      use for the terminal display. Thanks go to Russ for his
  8849.      persistence ;-)
  8850.  
  8851.    * In monochrome mode text is no longer printed in inverse video mode.
  8852.  
  8853.    * The screen settings editor now allows you to change the colour
  8854.      mode even if `term' is running on a public screen.
  8855.  
  8856. Changes introduced with v4.1:
  8857. *****************************
  8858.  
  8859.    * Fixed an Enforcer hit in gtlayout.library caused by the text
  8860.      gadget handling code.
  8861.  
  8862.    * If possible child windows are now opened within the bounds of
  8863.      their parent windows.
  8864.  
  8865.    * Fixed an Enforcer hit caused by the ARexx interface building
  8866.      dialing lists.
  8867.  
  8868.    * Reordered the parameters of the "ADDITEM" ARexx interface command.
  8869.  
  8870.    * Rewrote the entire data capturing process. I somewhat opened a can
  8871.      of worms, making it necessary to rewrite the code that handles the
  8872.      translations for the "Receive CR as..." and "Receive LF as..."
  8873.      options as well. Careful please, although I am sure the code works
  8874.      correctly I may have knocked over some china cups.
  8875.  
  8876.    * Added some more safety catches to the upload queue handling.
  8877.      Using the auto-upload panel with the upload queue could leave you
  8878.      locked out, blocking `term'. Generally, not a very nice thing to
  8879.      do. Under the same conditions the code will now fall back to
  8880.      presenting the standard file requesters.
  8881.  
  8882.    * Fixed a bug in the capture panel which could turn up if the editor
  8883.      was invoked from the phonebook.
  8884.  
  8885.    * Corrected some few typos in the english user interface text.
  8886.  
  8887.    * Turning off script recording did not reset the program status to
  8888.      `ready'. This has been fixed.
  8889.  
  8890.    * Heaven knows why, but v4.0 did not permit changing the screen
  8891.      colours if running in monochrome mode.
  8892.  
  8893.    * The `Freeze buffer' menu now properly toggles the state of the
  8894.      capture buffer.
  8895.  
  8896.    * The terminal settings now take the maximum possible values into
  8897.      account when setting the selection ranges for the number of
  8898.      columns and lines.
  8899.  
  8900.    * When using a startup script or a startup command the program no
  8901.      longer displays its `about' window on program startup.
  8902.  
  8903.    * The ARexx command "GOONLINE" now sets up some more of status
  8904.      variables than it used to do in v4.0.
  8905.  
  8906.    * Upon startup the carrier signal is checked (provided your serial
  8907.      configuration says that the carrier should be checked) and if it
  8908.      is present the online timer is started.
  8909.  
  8910.    * Added a bunch more of serial BPS rates. Don't overdo it, a
  8911.      standard Amiga won't go faster than 115K BPS.
  8912.  
  8913.    * Replaced the serial rate slider with an integer gadget featuring
  8914.      incrementer arrows. Clicking on the arrows will cycle through all
  8915.      standard BPS rates. Note: requires gtlayout.library 1.97 or higher.
  8916.  
  8917.    * When offline detecting a carrier signal will bring `term' into
  8918.      online state, provided the `Check carrier' flag is enabled in the
  8919.      serial settings.
  8920.  
  8921.    * ^Q now works again.
  8922.  
  8923.    * The end-of-line character translation scheme was changed into one
  8924.      single unified concept. Both carriage return and line feed
  8925.      characters can now be translated into <cr>, <lf>, <lf><cr>,
  8926.      <cr><lf> or can be ignored.
  8927.  
  8928.    * The phone rates management is moving from the individual phone
  8929.      book entries into a separate global settings editor.  The old
  8930.      rates management style will continue to work, but the new
  8931.      management scheme has priority over it.
  8932.  
  8933.      Here is how the new scheme works: you now assign the rates
  8934.      accounting data to area codes rather than to single phone book
  8935.      entries. Suppose you want a special set of rates settings to be
  8936.      used for all phone book entries and phone numbers which start with
  8937.      the area code "009". In this case you would add another group
  8938.      entry, assign a name to it and put "009#?" into the pattern field.
  8939.      The next time `term' makes a connection to a phone number starting
  8940.      with the digits "009" the corresponding rates settings will be
  8941.      used. `term' scans the list top-down, so the default settings
  8942.      should be put into the last list entry.  The patterns follow the
  8943.      AmigaDOS syntax.
  8944.  
  8945.    * Finally discovered why so many old phonebook files would cause
  8946.      trouble: the internal conversion routine was *never* called.
  8947.  
  8948.    * Horrors! The sound.datatype saves invalid sound files with the
  8949.      playback size set to zero, causing `term' to crash with a
  8950.      `division by zero' error. The replay routine now handles such odd
  8951.      files.
  8952.  
  8953.    * The sliders for redial delay and time to connect now finally sport
  8954.      a resolution of a single second rather than ten seconds.
  8955.  
  8956.    * Shortened gadget labels & texts and rearranged the gadget layout
  8957.      to make sure all windows will fit on a plain 640 x 400 sized screen
  8958.      with topaz/8. Sorry folks, 640 x 200 is right out of the question.
  8959.      These are the days of miracle and wonder and all modern Amiga
  8960.      hardware is capable of displaying screens this size in
  8961.      non-interlaced modes.  If things still don't seem to fit try a
  8962.      different font, preferably proportional-spaced, or a different
  8963.      screen resolution (change the overscan size if necessary).
  8964.  
  8965.    * Whilst reworking the documentation discovered that I forgot to add
  8966.      the `Alert' control to the terminal panel.
  8967.  
  8968.    * With Workbench v2.04 the screen mode requester automatically
  8969.      resets the screen size and overscan values to defaults.
  8970.  
  8971.    * The text buffer search requester now sports another option, "Whole
  8972.      words only".
  8973.  
  8974.    * The jump scroll option code had a control switch set in the `wrong
  8975.      direction'. Nothing serious, `term' would only scroll too many
  8976.      lines.
  8977.  
  8978.    * The jump scrolling routines did not take the size and position of
  8979.      the currently active scroll region into account. This could knock
  8980.      out the emulation since the cursor could cross the legal position
  8981.      limits.
  8982.  
  8983.    * Added some more control key codes as per the VT 220 Programmer
  8984.      Pocket Guide, such as ^2, ^3, ^4, ^5, ^[, ^/, ^].
  8985.  
  8986.    * Fixed another bug that would cause `term' to busy loop if it
  8987.      stumbled upon a non-printable character in IBM PC style font mode.
  8988.  
  8989.    * `term' now supports context-sensitive help with AmigaGuide v34.  I
  8990.      finally discovered a set of AmigaGuide commands that would not
  8991.      crash when told to change the currently displayed context.
  8992.  
  8993.    * Changing XEM options will save them back to disk.
  8994.  
  8995.    * Rewrote the hangup/carrier lost/online/offline handling procedure.
  8996.      The online/offline status tracking is protected by semaphores now,
  8997.      the code to modify the status was reduced to a great deal, it's
  8998.      only in termDial.c, termARexxCommands.c and in termMain.c. The
  8999.      hang up command and carrier lost actions now go through the same
  9000.      code, i.e. backup config & redial on logoff now work both for
  9001.      logoff & hangup.
  9002.  
  9003.    * The phone rates accounting by area codes did not work since the
  9004.      routines were commented out. I removed the comments, they should
  9005.      work now.
  9006.  
  9007.    * The buffer management no longer collapses if you try to clear the
  9008.      contents while there is still data coming in.
  9009.  
  9010.    * Reread the "VT 220 Programmer Pocket Guide" and added most of the
  9011.      remaining unsupported control sequences. Not supported are the
  9012.      programmable function keys and data transfers bracketed by
  9013.      DCS..ST. A number of control sequences are still no-ops, such as
  9014.      the national/multinational font support operations.
  9015.  
  9016.    * Double-clicking on a phonebook entry with no phone number attached
  9017.      no longer starts dialing.
  9018.  
  9019.    * Changed numeric keypad applications mode and PF key handling.  I
  9020.      hope it works with all keymappings now.
  9021.  
  9022.    * Cloning a rates settings entry did not properly duplicate all data
  9023.      associated with the original entry.
  9024.  
  9025.    * Creating a new phonebook entry will set the rates accounting data
  9026.      connected with it to zeroes.
  9027.  
  9028.    * Rewrote the prescrolling/jump scrolling support code which now
  9029.      should get the job more quickly than before.
  9030.  
  9031.    * Resetting the terminal emulation no longer clears the state of the
  9032.      `Wrap cursor moves' option.
  9033.  
  9034.    * Rewrote and simplified serial I/O processing, I hope it still
  9035.      works.
  9036.  
  9037.    * Dialing commands no longer make it into the text buffer.
  9038.  
  9039.    * The `Cancel' button in the phonebook panel was relabeled, now
  9040.      showing `Use' instead.
  9041.  
  9042.    * The program no longer puts the upload queue icon into the Workbench
  9043.      window by default, there is a new option to turn it off.
  9044.  
  9045.    * You can finally edit all the settings to be changed in the
  9046.      phonebook, this includes function keys, cursor keys, translation
  9047.      tables and fast macros. Hold down either shift key to bring up the
  9048.      old file requesters. Note that you will also get the old file
  9049.      requesters if something goes wrong reading and setting up the
  9050.      settings data.
  9051.  
  9052.    * Added an option to make a hardcopy of the screen contents, invoking
  9053.      the printer graphics dump function.
  9054.  
  9055.    * All the windows sporting pull-down menus now support menu help,
  9056.      i.e.  if you press the help key while a menu item is being
  9057.      selected `term' will bring up the online help page for the
  9058.      corresponding menu.
  9059.  
  9060.    * Duplicating a phonebook entry now properly duplicates the
  9061.      corresponding rates settings.
  9062.  
  9063.    * Added new keyboard shortcuts to the phonebook controls. Pressing
  9064.      `Del' untags the currently selected entry, `Shift+Del' untags all
  9065.      entries.
  9066.  
  9067.    * `term' now looks up the "Fonts" and "Libs" drawers in the current
  9068.      directory and adds them to the "Fonts:" and "Libs:" assignment
  9069.      list.  At least for me, this greatly simplifies the installation
  9070.      procedure.  Just copy the contents of all distribution archives
  9071.      into a single drawer and let `term' do the rest.
  9072.  
  9073.    * The fast! macro button list now properly responds to Alt+Amiga key
  9074.      clicks. I also thinned out the code a bit, causing the buttons to
  9075.      render a little faster.
  9076.  
  9077.    * Relabeled the button in the bottom left corner of the phonebook
  9078.      window again. It now reads "Close".
  9079.  
  9080.    * The buffer search requesters are now non-modal so you can have them
  9081.      open and continue to use the text buffer display.
  9082.  
  9083.    * I reworked some parts of the user interface, trying to clarify the
  9084.      functions of menus and buttons. I also removed some redundant
  9085.      button labels and changed all references to `directories' to
  9086.      `drawers'.
  9087.  
  9088.    * Shortened the button labels for the phonebook and the rate panel,
  9089.      so they will finally fit on a 640 x 400 screen using topaz/8.
  9090.      Some button labels now look fairly obscure, sorry about that.  I
  9091.      guess I'll rething the part about the "clarification" again...
  9092.  
  9093.    * More weird & wonderful changes to the serial device interface
  9094.      code. I hope it still works.
  9095.  
  9096.    * When hanging up the line using the corresponding menu command the
  9097.      online state is no longer reset to `offline' if in the serial
  9098.      settings the "Check carrier" feature is enabled. This leaves the
  9099.      test for the carrier to the usual routines which will detect if
  9100.      the carrier is really gone.
  9101.  
  9102.    * With multi-number phonebook entries the dialer now displays how
  9103.      many of these numbers have been dialed already.
  9104.  
  9105.    * There was something really wrong with the way clipboard text was
  9106.      pasted as the `end of line' character conversion would be applied
  9107.      twice.
  9108.  
  9109.    * The "Time to connect" data was never used for phone rates
  9110.      accounting, it only played a minor role in the "Connect limit"
  9111.      settings.
  9112.  
  9113.    * The pop-up `About' window no longer is GimmeZeroZero, which is
  9114.      both sexy and uses less memory.
  9115.  
  9116.    * Beep & action sounds are now loaded via datatypes if available.
  9117.      Under v39 this may not work well for large sound files due to a
  9118.      bug in sound.datatype. Plain IFF-8SVX format sound files will
  9119.      still be played using the built-in routines since they are more
  9120.      flexible than sound.datatype and can replay stereo sound.
  9121.  
  9122.    * Non-standard-sized system imagery (sizing gadgets, arrow gadgets,
  9123.      etc.) is now supported whereever it is used.
  9124.  
  9125.    * The phonebook window no longer sports a `Close' button, all that's
  9126.      left is the `Dial...' button.
  9127.  
  9128.    * Phonebook entries which lack a phone number can no longer be used
  9129.      for the dialing list.
  9130.  
  9131. Changes introduced with v4.0:
  9132. *****************************
  9133.  
  9134.    * The window status line is no longer `misplaced' under Kickstart
  9135.      v2.x.
  9136.  
  9137.    * Font, file and screen requesters are no longer quite so tiny.
  9138.  
  9139.    * Different font scales as by the VT100 specs (half width, double
  9140.      width, top double size, bottom double size) work again.
  9141.  
  9142.    * All memory allocations now go through memory pools, reducing
  9143.      memory fragmentation greatly. Note: Kickstart 3.x owners *should*
  9144.      have SetPatch 40.16 installed as the memory pool code might have
  9145.      trouble freeing empty memory pools until the program exits.  This
  9146.      memory allocation scheme should also help to get `term' to work
  9147.      with certain virtual memory system extensions.
  9148.  
  9149.    * In the XPR transfer window the error/message list will no longer
  9150.      hold more than 100 entries in order to save memory. I have received
  9151.      reports of users who ran large file transfers overnight and when
  9152.      getting up in the next morning the transfer error/message list had
  9153.      accumulated so much memory it was no longer possible to move the
  9154.      mouse: Intuition was unable to allocate enough memory to create new
  9155.      input events. If 100 messages have accumulated and a new one is
  9156.      about to be added the first and oldest entry will be removed.
  9157.  
  9158.    * The status line display now properly reflects the name of the
  9159.      current file transfer protocol.
  9160.  
  9161.    * The quick dial menu checkmarks would get cleared only on some rare
  9162.      occasions, i.e. if the first phonebook entry had the `Quick dial
  9163.      menu' feature set. Now it gets the job done no matter which
  9164.      phonebook entry is the first one in the quick dial menu.
  9165.  
  9166.    * The main window menus used to have the command shortcut `W'
  9167.      assigned twice.
  9168.  
  9169.    * If running on the Workbench dropping icons on the `term' window
  9170.      would ask for the type of file transfer (text or binary), but it
  9171.      would get the selection wrong, i.e. if you chose text you got a
  9172.      binary upload and the other way round. This has been fixed.
  9173.  
  9174.    * When in zoomed state the XPR transfer window will display the name
  9175.      of the file currently being transferred and how much of it has
  9176.      already been transferred (if available). This display will be
  9177.      updated about once a second.
  9178.  
  9179.    * If icons are to be created for files downloaded it is no longer
  9180.      necessary to turn on file type identification to actually get the
  9181.      icons attached.
  9182.  
  9183.    * Freezing the text buffer contents now properly updates the text
  9184.      processing routine variables.
  9185.  
  9186.    * Calling the `Print clipboard' function twice will no longer result
  9187.      in a general system lockup.
  9188.  
  9189.    * The double-buffered I/O routines now let you configure the buffer
  9190.      size to use. The memory allocation also is a lot more `forgiving'
  9191.      than it used to be: if necessary it will shrink the buffer size
  9192.      until it can allocate enough space.
  9193.  
  9194.    * To keep naughty applications from switching the cursor key and
  9195.      numeric keymap into applications mode you can lock both key sets
  9196.      now, so they will not to change their current modes.
  9197.  
  9198.    * The old AmigaGuide release (v34 to be accurate) is supported now,
  9199.      but with limited functionality. The help text is not context
  9200.      sensitive and you need to shut down the AmigaGuide server manually
  9201.      (by closing the AmigaGuide window) if the screen its window
  9202.      resides upon is to be closed.
  9203.  
  9204.    * `RING' and `CONNECT' messages from the modem are now reported
  9205.      along with the time when they came in.
  9206.  
  9207.    * The program now complains loudly about outdated catalog files and
  9208.      incorrectly installed locale.library.
  9209.  
  9210.    * The hotkey settings panel now checks each hotkey description text
  9211.      after it is entered and complains if it is unuseable.
  9212.  
  9213.    * The `QUIET' command line option (makes `term' start up iconified)
  9214.      no longer crashes if Workbench isn't running.
  9215.  
  9216.    * The program now features an all-new user interface.
  9217.  
  9218.    * There is a new command line option called `BEHIND' which causes
  9219.      the main screen to stay in the background and the main window not
  9220.      to become active upon startup.
  9221.  
  9222.    * If `term' fails to open a screen and finds out that the requested
  9223.      screen display mode is unavailable it will copy the screen mode
  9224.      the default public screen is in and retry.
  9225.  
  9226.    * No more trouble with mixed-case device and library names.  As you
  9227.      pick them from the list the files are validated, i.e.  `term'
  9228.      tries to load the file in question and hunts for the
  9229.      library/device resident tag included. If the tag is found the
  9230.      `real' device/library name is copied from it, replacing the
  9231.      original name the file was opened with. This means that you can
  9232.      select `XPRZModem.Library' using the file requester and `term'
  9233.      will look into the file to find out that the library wants to be
  9234.      opened under the name of `xprzmodem.library'.  Also included are a
  9235.      type check (i.e. if a library is to be opened only files with a
  9236.      library type resident tag are included in the list) and a brief
  9237.      name comparison (i.e. only name case differences are allowed, so
  9238.      `XPRZModem.Library' = `xprzmodem.library', but `foo.device' !=
  9239.      `bar.device').
  9240.  
  9241.    * The external emulation and the external protocol support routines
  9242.      no longer share the same code and the same set of error
  9243.      messages/options texts.
  9244.  
  9245.    * A transfer protocol such as xprkermit.library will no longer leave
  9246.      `term' in a `half-dead' state if it opens a new window in the
  9247.      protocol setup phase. In previous releases this window was never
  9248.      closed.
  9249.  
  9250.    * The label text of XPR/XEM command options which accept a parameter
  9251.      and thus cause the settings window to be closed after text is
  9252.      entered is now drawn in the current highlight colour. This helps
  9253.      to distinguish regular string gadgets and command option
  9254.      parameters.
  9255.  
  9256.    * If `term' fails to set up the XPR protocol properly, i.e.  the
  9257.      setup routine does not flag success, the library is closed right
  9258.      away. This is how it has always been in previous `term' releases.
  9259.      But this time the main menu is also updated to keep you from
  9260.      starting a file transfer or changing the transfer options while
  9261.      the library base pointer is invalid.
  9262.  
  9263.    * In order to support external protocols which write data to or read
  9264.      data from the serial line serial I/O processing is temporarily
  9265.      disabled while the corresponding setup routines are running.
  9266.      Although this behaviour isn't quite that nice it should avoid
  9267.      serious trouble with xprkermit.library which could otherwise
  9268.      disrupt the serial device request queue.
  9269.  
  9270.    * There are now three buttons in the file transfer panel which
  9271.      correspond to different abort levels:
  9272.  
  9273.      * Skip current file   Skips just the file currently being in
  9274.      transfer (level 2)
  9275.  
  9276.      * Stop transfer batch   Cancels the entire batch transfer (level 1)
  9277.  
  9278.      * Stop entire transfer   Emergency stop (level -1)
  9279.  
  9280.      These abort levels are supported by xprkermit.library and a number
  9281.      of other file transfer protocols.
  9282.  
  9283.    * Opening the transfer protocol settings editor will cause the
  9284.      currently selected default XPR protocol to be reopened in case it
  9285.      is not open yet.
  9286.  
  9287.    * Holding down the control key and clicking with the mouse on a
  9288.      space character will now correctly send it.
  9289.  
  9290.    * Double-clicking on a phonebook entry will no longer start dialing
  9291.      if the program is still online, i.e. if the regular `Dial' button
  9292.      is disabled.
  9293.  
  9294.    * If the line is hung up or the carrier is lost the call log file
  9295.      (human readable, not the one that is intended for postprocessing
  9296.      using call log analyzers) will include the costs for the call. In
  9297.      previous releases `term' would only look for the `NO CARRIER'
  9298.      message.
  9299.  
  9300.    * The destructive backspace option now removes the character to the
  9301.      left of the cursor but does not move the rest of the line one step
  9302.      to the left. This makes the terminal emulation behaviour more
  9303.      consistent with how real video terminals handle this job.
  9304.  
  9305.    * The translation table settings panel now features a `Default'
  9306.      button which resets the current translation settings to defaults.
  9307.  
  9308.    * Just like the text buffer screen the review buffer window is
  9309.      handled by a coprocess now.
  9310.  
  9311.    * The packet window now supports function keys.
  9312.  
  9313.    * For technical reasons I dropped the string gadget clipboard
  9314.      support. I suggest that you use StringClip or a similar program
  9315.      instead.
  9316.  
  9317.    * Clipboard pasting from the review buffer window no longer requires
  9318.      that you activate the main window.
  9319.  
  9320.    * In the phonebook the edit list (right hand side listview display)
  9321.      indicates whether an entry uses default settings or whether it
  9322.      actually uses custom settings. Custom settings are indicated by
  9323.      asterisks (`*').
  9324.  
  9325.    * The packet window now uses the current terminal text font.
  9326.  
  9327.    * Pressing Amiga+- in the packet window no longer transmits the
  9328.      current string but changes to the main window while leaving the
  9329.      current string intact.
  9330.  
  9331.    * Fixed a potential bug in the generic list management module.
  9332.  
  9333.    * With some file requester patches installed, such as old ReqTools
  9334.      or MFR, the file requester code could fail to notice if a single
  9335.      file was selected in multiselect mode.
  9336.  
  9337.    * The phone rates are now reported according to the current locale
  9338.      settings, i.e. they take the grouping and special attributes of
  9339.      the local currency into account.
  9340.  
  9341.    * The IFF-8SVX sound file player code now handles stereo and
  9342.      compressed sound files gracefully (all flavours including
  9343.      uncompressed stereo, compressed stereo, uncompressed mono and
  9344.      compressed mono).
  9345.  
  9346.    * The ARexx `WAIT' command could fail to report how many characters
  9347.      it pulled from the data stream when a matching string was found.
  9348.      This could result in random characters showing up in the terminal
  9349.      text output.
  9350.  
  9351.    * The routine to attach the wait mouse pointer to windows and to
  9352.      block input to them was easily losing track of its nesting count.
  9353.      In theory the nesting count could have wrapped around, locking you
  9354.      out. The harmless side-effect was that sometimes windows would not
  9355.      get blocked.
  9356.  
  9357.    * The ARexx `WAIT' command argument and the wait list may include
  9358.      control sequences now. These are expanded as soon as they go into
  9359.      the list. This feature makes it possible to wait for sequences
  9360.      such as `login:\rpassword\r' but will return result strings which
  9361.      include control characters, so watch out!
  9362.  
  9363.    * The ARexx `READ' command now allows you to combine the `CR' and
  9364.      `NUM' options. Also, the maximum number of characters to read with
  9365.      the `CR' option is no longer limited to 255 characters.
  9366.  
  9367.    * The file transfer window will at startup display the name of the
  9368.      currently selected transfer protocol. It displays a default value,
  9369.      leaving the protocol identification to the XPR library.
  9370.  
  9371.    * The ARexx `GETATTR' command would run into serious trouble if told
  9372.      to put information into a stem variable. The result would be
  9373.      Enforcer hits or crashes.
  9374.  
  9375.    * If you put `term' into iconified state and press the hotkey
  9376.      combination to bring its screen to the front you will no longer
  9377.      get an Enforcer hit. Instead `term' will exit its iconified state
  9378.      and return to normal action.
  9379.  
  9380.    * The status line display now coexists much nicer with MagicMenu and
  9381.      the like.
  9382.  
  9383.    * The status line no longer displays what text mode the terminal
  9384.      window is in (this was rather a silly feature) but rather if the
  9385.      text buffer is currently recording or if it's frozen.
  9386.  
  9387.    * The status line looks a bit different now (there is a proper
  9388.      separation bar now instead of the hair line).
  9389.  
  9390.    * Just like the v3.0 preferences palette editor `term' now permits
  9391.      to select the screen rendering pens. This will *not* work under
  9392.      v2.04 since gadtools.library v37 cannot handle it (actually it
  9393.      can, but the default glyphs do not support it). This feature
  9394.      permits you to change the screen colours while you can still keep
  9395.      the window new look.
  9396.  
  9397.    * The ARexx `READ' command could return random characters since the
  9398.      return buffer was not set up correctly.
  9399.  
  9400.    * Both the ARexx `READ' and `WAIT' commands now allow you type text
  9401.      on the local console and have it sent across the line. As for the
  9402.      `WAIT' command this is of great help if the script `hangs'. Note:
  9403.      halting scripts and and such still requires pressing the `Shift +
  9404.      Shift + Esc' key combination.
  9405.  
  9406.    * The ARexx `READ' command would, if used with the `NUM' option,
  9407.      always return a NULL-terminated string, no matter what kind of
  9408.      data came in. It now returns the entire amount of data
  9409.      transferred, including NULL-bytes.
  9410.  
  9411.    * The phonebook list now clearly shows which entries are selected
  9412.      for dialing and which are not (it flips the background and text
  9413.      colours). Note: this works only with Kickstart 3.0 and above.
  9414.  
  9415.    * I increased the possible number of dial retries in the modem panel
  9416.      to 1000. In addition to that you can set the number of dial
  9417.      retries to `unlimited' now.
  9418.  
  9419.    * For those nasty MS-DOS based file transfer protocols which choke on
  9420.      file names longer than 12 characters (eight for the name, one for
  9421.      the dot, three for the extension) the file transfer options now
  9422.      permit to have filenames shrunken before they are handed to the
  9423.      transfer protocol. Internally, the XPR interface will still refer
  9424.      to the file under its original name. The routine responsible for
  9425.      shrinking the file names also takes care of the extension
  9426.      separator dot. If there is more than one dot in the file name all
  9427.      the others get replaced by underscore characters. Also, if there
  9428.      is no dot extension it will be added.
  9429.  
  9430.    * The packet window is handled by a coprocess now.
  9431.  
  9432.    * If you're bold and daring you can make `term' handle the terminal
  9433.      output on the schedule of a terminal emulation task.  Please note
  9434.      that this requires additional memory and will slow down the
  9435.      emulation if your memory is fragmented. But on the other hand the
  9436.      coprocess will stop serial input getting munged before it arrives
  9437.      in the terminal emulation output buffer. Such things can happen
  9438.      with systems which experience heavy DMA bus or task loading
  9439.  
  9440.    * Turning on the `faster layout feature' no longer drops the screen
  9441.      & window newlook.
  9442.  
  9443.    * Due to an oversight the terminal emulation process could get
  9444.      enabled even when using an external emulation, this has been fixed.
  9445.  
  9446.    * The ARexx command `SENDFILE' would never remove the names of files
  9447.      transferred from the upload list.
  9448.  
  9449.    * Yet another new option: by default the dialer sends a `\r' string
  9450.      when skipping an entry and when hanging up the line. You can
  9451.      change this behaviour via the `Dialer abort hangs up' option now.
  9452.      If enabled the dialer will go through the routine hang up
  9453.      procedure (dropping the DTR signal, sending the hangup string, you
  9454.      name it). This should convince even the most stubborn modems to
  9455.      stop doing what they are currently thinking to be fun and to
  9456.      return to normal operation.
  9457.  
  9458.    * Clicking on the main window in order to activate it will no longer
  9459.      trigger the character snapping function.
  9460.  
  9461.    * Rewrote the ARexx `WAIT' routine to a great deal. It could easily
  9462.      forget to turn serial input processing back on for the main
  9463.      program. After a script would exit you would get stuck with data
  9464.      coming in from the serial line, but none of it would be displayed
  9465.      or worked upon.
  9466.  
  9467.    * Clicking on the text buffer screen window in order to activate it
  9468.      will no longer trigger the character snapping function. Since
  9469.      there is no safety catch, i.e. the clipboard contents are
  9470.      immediately replaced by what you selected after you let go of the
  9471.      mouse button, this will reduce the chance of losing your current
  9472.      clipboard contents.
  9473.  
  9474.    * Subtle change in the dialer procedure: if an entry would use the
  9475.      default serial settings they did not replace the current serial
  9476.      settings, even if the previous dial list entry had altered them.
  9477.      However, the original purpose of the default settings was to use
  9478.      the unmodified global settings. The dialer behaviour now respects
  9479.      this, changing the current serial settings back to the global
  9480.      settings, not keeping the changes the previous dial list entry had
  9481.      made.
  9482.  
  9483.    * In previous program releases trying to make certain phonebook
  9484.      entries not use the default settings was somewhat difficult: you
  9485.      had to change the corresponding settings entries to something
  9486.      different from the global defaults. Things are much easier now,
  9487.      just open the settings editor and click on the `Use' button.
  9488.  
  9489.    * The `Startup/Login macro' has been split into a startup macro and a
  9490.      login macro. The dialing routine will first invoke the login macro
  9491.      and then the startup macro. Only the dialing routine makes use of
  9492.      the login macro.
  9493.  
  9494.    * Small cosmetic changes to the user interface code: cycle gadgets
  9495.      are a few pixels wider now in order to keep `CycleToMenu' happy.
  9496.  
  9497.    * When hanging up the line the logoff macro was never executed.
  9498.  
  9499.    * Finally discovered why the serial read quantum and all the
  9500.      scheduled events were never processed again once they reported
  9501.      that no further data was available. Now the event response loop
  9502.      updates the signal mask again when it reaches the bottom of the
  9503.      loop to see if any new data came in.
  9504.  
  9505.    * You can now configure the screen depth, permitting to use the
  9506.      Picasso II chunky display mode with `term'. Note: asl.library
  9507.      v38-v40 fails to handle nonstandard background pen colours
  9508.      correctly, i.e. the depth slider text may be illegible.
  9509.  
  9510.    * External emulation libraries, namely xemvt340.library, should work
  9511.      again. I changed the memory allocation call for the XEM support
  9512.      interface, but I have no idea why it did the trick.
  9513.  
  9514.    * The status window is handled by a coprocess now.
  9515.  
  9516.    * Some ARexx interface commands now run asynchronously.
  9517.  
  9518.    * Yet another visual gimmick (sorry, couldn't resist): menu
  9519.      checkmarks and Amiga keys are now scaled according to the current
  9520.      screen display ratio. Note: not really compatible with utilities
  9521.      such as MagicMenu or Silicon Menus. Although the programs will run
  9522.      the menu layout may look odd.
  9523.  
  9524.    * The phonebook list can be scrolled with cursor keys now. You also
  9525.      get a visual feedback if running under Kickstart 3.x.
  9526.  
  9527.    * Fixed a nasty bug in the user interface code to pick the gadget
  9528.      shortcuts: it would prefer to pick the last letter of gadget
  9529.      labels and ignore any preceding letters.
  9530.  
  9531.    * Scrolling lists such as the phonebook list will size-adapt to the
  9532.      screen `real estate' available.
  9533.  
  9534.    * The screen settings now give you full access over display overscan
  9535.      mode and screen dimensions. Note that asl.library v38 or higher is
  9536.      required to use these features.
  9537.  
  9538.    * Changed the cursor key control in listviews, making it possible to
  9539.      use the Shift/Alt/Control qualifier keys in Style Guide compatible
  9540.      fashion.
  9541.  
  9542.    * Rewrote certain dos.library related parts of the user interface
  9543.      code, permitting plain tasks to call the routines. Consequently, a
  9544.      number of coprocess-driven routines was rewritten to run on the
  9545.      schedule of a task. Note: this may conflict with the ChangeScreen
  9546.      utility included in the Picasso II distribution.
  9547.  
  9548.    * Old style XPR settings entered using the old style prefs interface
  9549.      (i.e. those that would pop up a text entry requester) were never
  9550.      saved.
  9551.  
  9552.    * The transfer library selection panel now allows you change the
  9553.      settings of all selected protocols, you no longer need to select
  9554.      all individual protocols as the default protocol and invoke the
  9555.      `Protocol settings...' menu function on them.
  9556.  
  9557.    * The text and review buffer search requesters maintain backlogs of
  9558.      the previous search patterns now (use the cursor keys to scroll
  9559.      through the patterns). Use the capture settings to change the
  9560.      number of patterns to keep.
  9561.  
  9562.    * The text buffer search function no longer enforces a
  9563.      case-insensitive search.
  9564.  
  9565.    * Most time and date displays now use the current locale settings.
  9566.      It did not make sense to make all such displays use this text
  9567.      formatting scheme. All remaining displays will use the common dos
  9568.      date/time formatting parameters.
  9569.  
  9570.    * Modified OwnDevUnit.library support: if another task wants to gain
  9571.      access to the locked device `term' will release it unless the
  9572.      modem is still online. The device is released by calling the
  9573.      `Release serial device...' menu entry.
  9574.  
  9575.    * Oops... the XPR options editing code did not flag changes in
  9576.      numeric arguments to the main program. Also, old style XPR options
  9577.      were always reported as `changed'.
  9578.  
  9579.    * Not all memory allocations went through memory pools, this has
  9580.      been fixed.
  9581.  
  9582.    * The `Printer control enabled' switch was omitted from the
  9583.      emulation panel, sorry about that.
  9584.  
  9585.    * Some windows would not be moved into the foreground when opened,
  9586.      so you had to play `hide and seek' to see on which screen they
  9587.      appeared.
  9588.  
  9589.    * With display aspect ratios that aren't even remotely square
  9590.      incrementer arrows for integer gadgets are no longer larger than
  9591.      their container boxes.
  9592.  
  9593.    * The program no longer crashes if the XPR protocol feels about
  9594.      displaying a message before any other window is open.
  9595.  
  9596.    * By public demand the highlighting scheme in the phonebook window
  9597.      was changed to yield better contrast.
  9598.  
  9599.    * The speech volume is given in percent now, but the ARexx interface
  9600.      `GETATTR' command did not reflect this.
  9601.  
  9602.    * The sound settings now sport a volume slider which affects all
  9603.      sounds played. Suppose a sound is to be played at maximum volume,
  9604.      i.e. 64 for the current Amiga hardware and the volume slider is set
  9605.      to 25%, then the sound will be played at volume level 16. Setting
  9606.      the volume slider to 0 will cause `term' not to produce any sound.
  9607.  
  9608.    * The transfer panel message list dimensions are now auto-adjusted
  9609.      to the screen size. The layout code also tries hard not to make the
  9610.      window overlap the status line.
  9611.  
  9612.    * Added some bells & whistles to the phonebook window. I hope it
  9613.      still works.
  9614.  
  9615.    * Moved the user interface code into a shared library in order to
  9616.      make things more complicated.
  9617.  
  9618.    * The OwnDevUnit feature is no longer linked to the `Shared access'
  9619.      option.
  9620.  
  9621.    * All sounds are now replayed in the same fashion as the bell sound,
  9622.      i.e. if a sound is currently being played a request to play
  9623.      another sound will not be satisfied.
  9624.  
  9625.    * Important file transfer notification messages are now printed in
  9626.      the current highlight colour.
  9627.  
  9628.    * The destructive backspace mode now offers three choices: off,
  9629.      overstrike and shift. Overstrike mode clears the character below
  9630.      the cursor and shift mode will shift the line contents to follow
  9631.      the cursor to the left.
  9632.  
  9633.    * The screen panel now features some more options which permit to
  9634.      open the main window on a custom screen as though it were a public
  9635.      screen and an option to split the status line from the main window.
  9636.  
  9637.    * Tried to squeeze some space out of the control panels with mixed
  9638.      results.
  9639.  
  9640.    * The text buffer screen no longer uses the main screen display mode
  9641.      by default, it is possible to select the display mode now.
  9642.  
  9643.    * The built-in ASCII file transfer routines no longer draw upon the
  9644.      current clipboard settings to determine how to send and receive
  9645.      text. There is an all-new preferences editor for this purpose now.
  9646.  
  9647.    * Added an upload list editor, permitting to collect the files to be
  9648.      transmitted in a list before the transfer is started.  You can
  9649.      enter the file names, drop icons on the editor window or on the
  9650.      AppIcon. When you are finished, just press the upload button.
  9651.  
  9652.    * The packet window string gadget now has room for more than 1000
  9653.      characters. Note: the `Load history' command only supports 255
  9654.      characters per line.
  9655.  
  9656.    * Added a prescroll option to the emulation settings. The system is
  9657.      not very smart but should get the job done rather quickly; if the
  9658.      cursor is positioned on the last terminal line the number of line
  9659.      feeds in the input data stream is counted. The number of line
  9660.      feeds or the max.prescroll number (whatever is smaller) will
  9661.      determine how many lines to scroll the screen contents up.
  9662.  
  9663.    * With an empty phonebook loading a new phonebook file would not
  9664.      enable the phonebook list, this has been fixed.
  9665.  
  9666.    * Added another option to complement the prescroll settings. Testing
  9667.      revealed that the conditions leading to the prescroll feature to
  9668.      be used were met only rarely. The `max. jump' option will give you
  9669.      roughly the same functionality as the `max. prescroll' option, the
  9670.      difference is in the handling of the input data stream: the
  9671.      prescroll option counts the number of line feeds, the jump option
  9672.      only looks for a single line feed and then scrolls up the screen
  9673.      the given number of lines.
  9674.  
  9675.    * The program now remembers the window position and size before going
  9676.      into iconified state. When the window is reopened it will reappear
  9677.      at the position and in the size remembered
  9678.  
  9679.    * The ARexx `ADDITEM' command supports a new keyword `RESPONSE' to be
  9680.      used for entries added to the wait list. Suppose you want all
  9681.      `More (Y/n)?' prompts of the BBS login procedure to be skipped
  9682.      during your auto-login script. Then you would call `ADDITEM TO
  9683.      wait NAME "More (Y/n)?" RESPONSE "\r"', add the other keywords you
  9684.      would want to wait for and then finally call `WAIT'. Whenever the
  9685.      `More (Y/n)' prompt shows up the `WAIT' command will all by itself
  9686.      send the `\r' string (or in other words, the carriage return
  9687.      character) without exiting until the login string it was watching
  9688.      for is found. Please note that this feature only makes sense with
  9689.      the wait list but not with the `WAIT' command itself.
  9690.  
  9691.    * Added login learn mode controls. If the option is enabled in the
  9692.      dial panel incoming text and your responses to it will be recorded.
  9693.      When you are finished with your usual login procedure, call the
  9694.      `Record script' menu item in order to save the recorded data to an
  9695.      ARexx script. By default the recorder only watches for single
  9696.      keystrokes.  If you wish to enter an entire line use the `Record
  9697.      line' menu entry, calling this item a second time will transfer
  9698.      the line you entered into the recording buffer. Pressing the
  9699.      return key has the same effect. Pressing Shift+Return will also
  9700.      put you into line recording mode, no need to use the cryptic menu
  9701.      shortcut. Note: the `term' main menu now uses all available
  9702.      printable 7-bit ASCII characters for keyboard shortcuts :-(
  9703.  
  9704.    * Reworked the error reporting scheme, one of the weak spots of
  9705.      `term'. In previous releases you would be told that a file could
  9706.      not be saved or loaded, but no explanation would be given why the
  9707.      action failed. Where possible `term' will now tell you the cause
  9708.      of the error.
  9709.  
  9710.    * The printer support code was not particularly sensible to printer
  9711.      trouble, such as reported by the infamous printer.device requester.
  9712.      Even if this requester was cancelled `term' would happily continue
  9713.      to print, causing the printer trouble requester to pop up over and
  9714.      over again. This has been fixed.
  9715.  
  9716.    * The ARexx `DIAL' command is no longer synchronous by default,
  9717.      there is a new `SYNC' option which causes the ARexx script to wait
  9718.      until the dialer has made a connection/has failed to make a
  9719.      connection. The `RC' (result code variable) will be set to 5 if no
  9720.      connection was made, it will be 0 if a connection was made.  Now
  9721.      control can pass right through the `DIAL' command.
  9722.  
  9723.    * ARexx support is no longer a compile-time option but an integral
  9724.      part of the program.
  9725.  
  9726.    * Fixed a couple of bugs in the user interface library which dealt
  9727.      with odd alignment of slider level strings under v39. Some few
  9728.      strings still break the rules, but the results are less devastating
  9729.      than they used to be. Thankfully, most of the gadtools.library bugs
  9730.      that caused such trouble were fixed in v40.
  9731.  
  9732.    * Added the `trap' feature which implements the functionality of the
  9733.      ARexx wait list in an asynchronous fashion. For each sequence
  9734.      found a command sequence is executed. This should make it much
  9735.      easier to write UUCP scripts, BBS programs and such. Please note
  9736.      that the trap list is not identical to the wait list.
  9737.  
  9738.    * Rewrote the ARexx/AmigaDOS command execution routines which now
  9739.      execute their commands in truly asynchronous fashion, i.e. once
  9740.      their processes are spawned they keep to themselves and notify the
  9741.      main program when they are finished. This made it possible to
  9742.      remove the odd command handling workarounds and the special ARexx
  9743.      interface code that would take care of ARexx/AmigaDOS command
  9744.      execution.
  9745.  
  9746.    * The upload queue window code did not get the upload buttons
  9747.      enabled if icons were dropped on it.
  9748.  
  9749.    * The trap list loading code mixed up the order of commands and
  9750.      sequences, this has been fixed.
  9751.  
  9752.    * Fixed a monetary quantity formatting bug in the locale support
  9753.      code.
  9754.  
  9755.    * A malformed text formatting string was causing Enforcer hits in
  9756.      the action logging routine.
  9757.  
  9758.    * Added a few more `safety catches' to the screen opening code in
  9759.      order to make sure it does not open screens `too deep'.
  9760.  
  9761.    * Changing the screen size in the screen panel did not cause the
  9762.      screen to be reopened, this has been fixed.
  9763.  
  9764.    * Realized that it was not such a good idea to make most windows
  9765.      simple refresh and changed them to smart refresh. I've probably
  9766.      seen too many Macintosh programs forced to redraw their window
  9767.      contents over and over again.
  9768.  
  9769.    * The auto-upload panel now sports a button labeled `Upload from
  9770.      queue' which if enabled will cause the current upload queue to be
  9771.      transferred. Thanks to Bob Maple for pointing me into the right
  9772.      direction.
  9773.  
  9774.    * Fixed a truly nasty bug in the user interface code: integer type
  9775.      gadgets did not remember their original values when created, they
  9776.      would forget about them when queried and only would report them
  9777.      correctly when the values were changed. There is something I forgot
  9778.      to mention: integer gadgets understand hexadecimal (both 0x.. and
  9779.      $.. notation), binary (%..) and octal (&..) notation. The idea
  9780.      came from Martin Taillefer.
  9781.  
  9782.    * The date and time entries in log files are now printed in DOS
  9783.      format again.
  9784.  
  9785.    * Recorded scripts and such no longer include `\*SP' codes instead
  9786.      of plain spaces. This should improve readability.
  9787.  
  9788.    * With the `shared screen' feature enabled `term' would not respect
  9789.      the screen depth settings. This has been fixed.
  9790.  
  9791.    * The XPR routines no longer queue more than one IORequest, this
  9792.      should help to avoid trouble with some few device drivers.
  9793.  
  9794.    * The ARexx `QUIT' command really works now.
  9795.  
  9796.    * Removed the fixed-width font dependencies for Kickstart 2.04.
  9797.      Although windows may look funny if you use a proportional-spaced
  9798.      font, the program should deliver the same functionality as if it
  9799.      were using a fixed-width font.
  9800.  
  9801.    * Triggering the iconification function with the `Release serial
  9802.      device when iconified' option enabled will ask you for
  9803.      confirmation if the modem is still online.
  9804.  
  9805.    * Just for the fun of it added datatypes support. The IFF-ILBM saving
  9806.      routines of picture.datatype are used when saving the window
  9807.      contents to a file.
  9808.  
  9809.    * If the console output window specifier includes the `%s' string
  9810.      formatting parameter it will be replaced with the name of the
  9811.      public screen `term' resides upon.
  9812.  
  9813.    * New ARexx command `PROCESSIO' permits to turn off serial I/O
  9814.      processing by the main program. This will let ARexx programs
  9815.      receive & process all incoming data, without having `term' pull
  9816.      single strings from the input data stream.
  9817.  
  9818.    * Keymap strings to include null-bytes should be properly processed
  9819.      now, previous `term' releases would stop at the null-bytes and
  9820.      ignore the rest of the input lines.
  9821.  
  9822.    * Changes in the serial buffer size now cause the serial driver data
  9823.      to be updated as well.
  9824.  
  9825.    * Added facilities for external programs to rendezvous with `term',
  9826.      allowing them to take over the serial driver. This was added
  9827.      primarily to support my HydraCom Amiga port (please note that you
  9828.      need revision 2 of my HydraCom port to interface to `term'), but
  9829.      it may also help to support other file transfer protocols, such as
  9830.      the original rz/sz programs.
  9831.  
  9832.    * Whether trap list processing is enabled or not is now saved along
  9833.      with the trap list itself.
  9834.  
  9835.    * You can now lock the cursor keys and the numeric keypad separately.
  9836.  
  9837. Changes introduced with v3.4:
  9838. *****************************
  9839.  
  9840.    * Raised the maximum number of quick dial menu entries to 50.
  9841.  
  9842.    * Fixed a small bug connected with the text display screen.
  9843.  
  9844.    * XPR protocols which do not support batch transfers now work again
  9845.      as they did in v2.4.
  9846.  
  9847.    * Corrected a spelling mistake in the call logfile creation routine.
  9848.  
  9849.    * Fixed a memory allocation error in the review buffer code.
  9850.  
  9851.    * Fixed a major bug in the file transfer routines. In previous
  9852.      releases (say 3.1 and above) `term' used to throw invalid file
  9853.      locks around (seems I will have to use less ambiguous identifier
  9854.      names in the future...).
  9855.  
  9856.    * Fixed an Enforcer hit in the quick-dial menu creation.
  9857.  
  9858.    * Rarely, the program could fail to rebuild the quick-dial menu
  9859.      after leaving the phonebook.
  9860.  
  9861.    * As required by the specs, the XPR interface now switches BPS rates
  9862.      and serial parameters.
  9863.  
  9864.    * Enhanced the capture functions.
  9865.  
  9866.    * Changed the user interface layout for some windows, such as the
  9867.      modem settings window.
  9868.  
  9869.    * When running on a public screen will no longer cause lockups and
  9870.      trouble with Workbench. Rendering errors are still possible.
  9871.  
  9872.    * The very first characters to follow a modem connect message are no
  9873.      longer quietly discarded.
  9874.  
  9875.    * Finally solved the truly mysterious case of the missing screen
  9876.      line.
  9877.  
  9878.    * Fixed yet another Enforcer hit in the packet window code.
  9879.  
  9880.    * The standard beep routine would not work.
  9881.  
  9882.    * Libraries and devices can now be selected using simple menus
  9883.      rather than the file requester.
  9884.  
  9885.    * The program now flushes capture files to disk every minute in
  9886.      order to insure that at least fragments of the captured session
  9887.      will be safe when disaster strikes.
  9888.  
  9889.    * Finally got the cross-hatch pattern to draw ghosted list views
  9890.      right.
  9891.  
  9892.    * The terminal hex mode would write too many bytes per line.
  9893.  
  9894.    * The program would not pay attention to any icon tool type settings.
  9895.  
  9896.    * Upon making a connection the dialing routine will no longer drop
  9897.      the line by accident.
  9898.  
  9899.    * The review buffer window will filter out unprintable characters
  9900.      before displaying text lines.
  9901.  
  9902.    * The program no longer knocks itself out if an initialization error
  9903.      occurs during the startup phase.
  9904.  
  9905.    * You can now select the name of the public screen the `term' window
  9906.      is to be opened upon using a menu.
  9907.  
  9908.    * If using a public screen the program will make use of the
  9909.      corresponding screen font and no longer try to modify it in any
  9910.      weird way.
  9911.  
  9912.    * The ARexx command `READ' did not pay attention to the translation
  9913.      table settings.
  9914.  
  9915.    * A configuration file to be loaded upon startup as specified using
  9916.      tooltypes or command line options will no longer be ignored.
  9917.  
  9918.    * The positions and sizes of certain program windows will be stored
  9919.      in the main configuration file.
  9920.  
  9921.    * Initially, when a file was received the information window would
  9922.      not display the space left on the output device.
  9923.  
  9924.    * Introduced the `time to connect' interval.
  9925.  
  9926.    * Added the serial read quantum.
  9927.  
  9928.    * The phonebook window will now be opened large enough to hold all
  9929.      its gadgets inside.
  9930.  
  9931.    * Blinking text display is no longer restricted to eight colour
  9932.      screens, provided the display architecture permits high-resolution
  9933.      screens in more than 4 bit planes.
  9934.  
  9935.    * The program now exists cleanly if vital resources such as the
  9936.      output screen cannot be opened.
  9937.  
  9938.    * The file transfer routines should run a tiny little bit faster now.
  9939.  
  9940.    * Added the transfer performance meter.
  9941.  
  9942.    * The clear screen control sequence now optionally resets the cursor
  9943.      position.
  9944.  
  9945.    * Rarely, the text buffer screen would not update the first text
  9946.      line properly. Also, the screen display mode will no longer fall
  9947.      back to HIRES/HIRES_INTERLACED.
  9948.  
  9949.    * Rarely, the review buffer window would render text in the wrong
  9950.      colours.
  9951.  
  9952.    * The pen/palette sharing code was submitting incorrect colour codes.
  9953.  
  9954.    * The review buffer window now responds to the same keypresses as
  9955.      the text buffer screen and the main input window.
  9956.  
  9957.    * Not all packet menu items were to be invoked using menu shortcuts.
  9958.  
  9959.    * Added `Completion time' display to the transfer progress window.
  9960.  
  9961.    * Introduced special transfer library settings. You can now select
  9962.      which library to use for ASCII, text or binary transfers.
  9963.  
  9964.    * Added built-in ASCII transfer routines.
  9965.  
  9966.    * You can now search forwards or backwards through the text buffer.
  9967.  
  9968.    * Text stored in the buffer no longer gets trailing spaces stripped
  9969.      in order to keep weird uuencoded data intact.
  9970.  
  9971.    * The menu items featured in the `Edit' menu now properly reflect
  9972.      the state of the clipboard.
  9973.  
  9974.    * A menu shortcut would be used twice in the main window menus.
  9975.  
  9976.    * Rarely, the colour choices for the bar charts in the transfer
  9977.      progress window would be wrong.
  9978.  
  9979.    * The quick dial menu would not be rebuilt if the phonebook was
  9980.      sorted or new entries were added.
  9981.  
  9982.    * The ARexx commands `DELAY' and `SEND' would not turn off the text
  9983.      cursor prior to text processing.
  9984.  
  9985.    * Unless it is absolutely necessary, the text display scope is no
  9986.      longer moved automatically.
  9987.  
  9988.    * As for the text display screen and window the `Alt' keys now have
  9989.      the same effect as the `Control' key.
  9990.  
  9991.    * If new text is added to the text buffer the buffer screen and the
  9992.      review window are properly updated now.
  9993.  
  9994.    * A dialing list built using the quick dial menu was not enumerated
  9995.      properly.
  9996.  
  9997.    * Building a dialing list using the quick dial menu via extended
  9998.      selection, then selecting the phonebook control panel, clearing
  9999.      the dialing list and leaving the phonebook will no longer start
  10000.      dialing the list just cleared.
  10001.  
  10002.    * Checkmarks now indicate which entries in the quick dial menu are to
  10003.      be dialed.
  10004.  
  10005.    * The bar charts displayed in the transfer progress window are now
  10006.      updated in a more efficient manner (the text colour has changed,
  10007.      too).  Also, unzooming the window will properly update the bar
  10008.      charts now.
  10009.  
  10010.    * A hardware buffer overrun error is no longer considered a fatal
  10011.      error.
  10012.  
  10013.    * With some requesters and windows string gadgets are auto-activated
  10014.      now. Pressing the `Return' key will cycle through all the available
  10015.      strings gadgets, holding down either `Shift' key will break the
  10016.      cycle.
  10017.  
  10018.    * Trying to quit the program will no longer ask for confirmation if
  10019.      there is no reasons to ask for.
  10020.  
  10021.    * The bar charts in the transfer progress window will be omitted if
  10022.      the remaining screen space would not permit the entire window to be
  10023.      displayed.
  10024.  
  10025.    * The fast! macro window contents would be rendered in the wrong
  10026.      colours.
  10027.  
  10028.    * The phonebook window did not support any online-help features.
  10029.  
  10030. Changes introduced with v3.3:
  10031. *****************************
  10032.  
  10033.    * Added the quick dialing menu.
  10034.  
  10035.    * Enhanced the modem and screen settings
  10036.  
  10037.    * Fixed a few bugs in the ARexx interface commands `REQUESTFILE' and
  10038.      `REQUESTRESPONSE'
  10039.  
  10040.    * Unfortunately a single line was missing in the XPR option setup,
  10041.      causing them program not to save the transfer protocol options.
  10042.  
  10043.    * No longer forces the creation date of an auto-capture file to be
  10044.      included in the file. As an option, will use the naming convention
  10045.      used in previous program releases.
  10046.  
  10047.    * The program now optionally creates icons for files.
  10048.  
  10049.    * Added a terminal hex-mode for debugging purposes
  10050.  
  10051.    * Fonts are now opened using properly initialized DPI and aspect
  10052.      ratio values which results in much better scaled outline font
  10053.      rendering.
  10054.  
  10055.    * The name of an external emulation library is no longer quietly
  10056.      suppressed.
  10057.  
  10058.    * It is possible to disable the double-buffered file management
  10059.      routines now.
  10060.  
  10061.    * Added the text pacing option.
  10062.  
  10063.    * Apparently, external and internal terminal emulations tried to
  10064.      turn on/off each other's cursors.
  10065.  
  10066.    * Copying text to the clipboard now permits to append the text to
  10067.      the current clipboard contents.
  10068.  
  10069. Changes introduced with v3.2:
  10070. *****************************
  10071.  
  10072.    * Could not enter phonebook passwords
  10073.  
  10074.    * The XPR interface now states much more clearly what the likely
  10075.      cause of a serial I/O error might have been
  10076.  
  10077.    * New sound support functions added
  10078.  
  10079.    * Added `OK' and `ERROR' modem response codes
  10080.  
  10081.    * The order of messages displayed in the file transfer window has
  10082.      changed (now works top down rather than bottom up).
  10083.  
  10084.    * The ARexx interface routines did not check whether the serial
  10085.      device handles were available or not (boom!)
  10086.  
  10087.    * Redid the fast! macro handling
  10088.  
  10089.    * The text buffer screen did not notice when the buffer contents
  10090.      were cleared
  10091.  
  10092.    * Retuned the phonebook and dial list routines which could generate
  10093.      Enforcer hits and trash innocent memory
  10094.  
  10095.    * Boldface/italics characters will no longer leak into the window
  10096.      borders
  10097.  
  10098.    * The cursor image now reflects the state of the terminal window
  10099.  
  10100.    * The program would generate an Enforcer hit when files were to be
  10101.      transferred by dropping their icons on the main window
  10102.  
  10103.    * When opening a capture file the program could ask twice whether an
  10104.      already existing file should be replaced.
  10105.  
  10106.    * Paste operations triggered from the review buffer window would not
  10107.      start any paste operation until the main window was reselected
  10108.  
  10109.    * Reworked the character translation table format.  Translation
  10110.      table files should be smaller now and should load a lot faster
  10111.  
  10112.    * The screen/output window size now changes to the number of columns
  10113.      specified in the terminal settings
  10114.  
  10115.    * Rarely, the file transfer window would be opened very narrow and
  10116.      tall.  So tall in fact that display elements would overlap each
  10117.      other, no text could be displayed in the big listview and Enforcer
  10118.      hits were not to be avoided.
  10119.  
  10120.    * The file transfer interface would produce Enforcer hits when to
  10121.      transfer files using an old-style XPR library.
  10122.  
  10123.    * The phonebook dial list handling would select single entries when
  10124.      a shift key was pressed during keyboard selection.
  10125.  
  10126.    * The review buffer window no longer loses track of the text area it
  10127.      ought to display after resizing the window.
  10128.  
  10129.    * Rewrote much of the keyboard/mouse/peanut butter handling loop.
  10130.      No longer quite so complex.
  10131.  
  10132.    * Thanks to user persistence the `Password' text entry field
  10133.      available through the password/user panel no longer hides the
  10134.      actual password text.
  10135.  
  10136.    * `Hang up' menu item did not cause a backed-up configuration to be
  10137.      restored.
  10138.  
  10139.    * Naughty XPR protocols which would issue error reports through
  10140.      xpr_update() during XPRSetup() would cause the transfer window to
  10141.      be opened not to close afterwards.
  10142.  
  10143.    * No more odd happenings in the status line online time display.
  10144.      The code responsible would misinterprete a string index.  This has
  10145.      been fixed.
  10146.  
  10147.    * It is no longer possible to dial phonebook entries which have no
  10148.      name or phone number attached.
  10149.  
  10150.    * The terminal emulation code no longer leaves background colour
  10151.      artifacts when scrolling text with a background colour other than
  10152.      the default background colour enabled.
  10153.  
  10154.    * Calls to BeginIO() rather than SendIO() were giving some - if not
  10155.      most - device drivers hard times.  According to the few tests I
  10156.      have run so far the program now performs more reliable when doing
  10157.      file transfers.  `term' now works again in conjunction with
  10158.      isdn.device.
  10159.  
  10160.    * The program no longer encodes the creation date into the name of an
  10161.      auto-capture file but rather writes creation time and date to the
  10162.      first new line in the file.
  10163.  
  10164.    * New tooltype/command line option `Quiet' will cause `term' to
  10165.      start up iconified.
  10166.  
  10167. Changes introduced with v3.1:
  10168. *****************************
  10169.  
  10170.    * Previous releases of the phonebook would not clone single phonebook
  10171.      entries correctly.
  10172.  
  10173.    * The configuration copying routine will now selectively copy config
  10174.      information to the currently selected phonebook entries.
  10175.  
  10176.    * The phonebook encryption/decryption routines are a tad faster now.
  10177.  
  10178.    * The program will now prompt twice for a phonebook access password.
  10179.  
  10180.    * Comment, phone number, user name and password can be much longer
  10181.      now than they used to be in previous releases.
  10182.  
  10183.    * The phonebook now only contains the configuration information to
  10184.      differ from the global configuration.
  10185.  
  10186.    * Previous releases would not save any rate information along with
  10187.      encrypted phonebook files, this has been fixed.
  10188.  
  10189.    * The configuration copying routine now allows to `drop' parts of
  10190.      the phone book configuration rather than replacing them with parts
  10191.      of the global configuration.  This feature works in conjunction
  10192.      with the new phonebook file format.
  10193.  
  10194.    * A new feature has been added:  as an option, the program will
  10195.      immediately start to redial the currently configured dialing list
  10196.      as soon as the line is hung up or the carrier is lost.
  10197.  
  10198.    * The program finally includes context-sensitive online help
  10199.      implemented through amigaguide.library (note:  Kickstart 3.0
  10200.      required).  Any window to offer a help text will display it when
  10201.      the `Help' key is pressed.
  10202.  
  10203.    * The ARexx interface documentation was entirely rewritten.  The
  10204.      main program documentation was updated and slightly enhanced.  Be
  10205.      sure to reread it!
  10206.  
  10207.    * Both the text buffer screen and review buffer window now feature
  10208.      new and improved scrollers.  Scrolling and screen refreshes are
  10209.      also quite a bit faster now.
  10210.  
  10211.    * The text searching routine has been enhanced and now works much
  10212.      faster than in previous releases.  It also happens to find
  10213.      multiple occurences of a string in a single line.
  10214.  
  10215.    * Improved text buffer handling, reduced memory fragmentation if
  10216.      running under control of Kickstart 3.0.
  10217.  
  10218.    * The text buffer will no longer quietly swallow single characters
  10219.      and will finally correctly wrap lines longer than 80 characters.
  10220.  
  10221.    * The review buffer window now also sports a search function just
  10222.      like the text buffer screen, other useful menu items have been
  10223.      added as well.
  10224.  
  10225.    * In previous releases the program would miscalculate the number of
  10226.      bytes left on a filing device when receiving a file.  It would not
  10227.      take the number of bytes received into account, this has been
  10228.      fixed.
  10229.  
  10230.    * In order to transfer files one can simply drag the corresponding
  10231.      icons on the `term' main window (requires that the `term' window
  10232.      is opened on the Workbench screen).
  10233.  
  10234.    * Instead of identifying the type of a file received, the program
  10235.      will optionally attach a file comment to show the name of the BBS
  10236.      the file was received from and the time and date when the file was
  10237.      received.
  10238.  
  10239.    * In case a file transfer is terminated due to errors the file
  10240.      transfer window will remain open until explicitely closed.
  10241.  
  10242.    * The XPR interface will disable the xpr_unlink() routine if the
  10243.      `override transfer path' option is in effect.
  10244.  
  10245.    * The XPR interface will no longer sort files to be uploaded by size
  10246.      and name as most users found this feature annoying.  It now sorts
  10247.      the files by name.
  10248.  
  10249.    * The file transfer window now correctly displays the names of all
  10250.      files sent and received.
  10251.  
  10252.    * The file transfer server was removed as it would not lead to a
  10253.      performance gain but a performance loss.
  10254.  
  10255.    * `term' now finally also runs as a window on the Workbench or any
  10256.      other public screen (that's what you always wanted, right?).  If
  10257.      running under control of Kickstart 3.0 will attempt to share
  10258.      screen colours with other applications, making it possible to run
  10259.      the terminal emulation in eight or sixteen colours if enough
  10260.      shareable pens are available.
  10261.  
  10262.    * `term' will refuse to run on a public screen if running under
  10263.      control of Kickstart 2.x and if the screen font happens to be
  10264.      proportional-spaced.
  10265.  
  10266.    * Some minor and some major bugs in the built-in terminal emulation
  10267.      have been fixed.
  10268.  
  10269.    * The program distribution now includes the 11 point IBM.font
  10270.      donated by Bernhard F.  Muller.
  10271.  
  10272.    * I was surprised to discover that in previous releases the terminal
  10273.      emulation server would never get activated as the conditions it
  10274.      would be enabled would very rarely be met.  Since the file
  10275.      transfer server would actually lead to a performance loss rather
  10276.      than a performance gain I chose to remove the terminal server
  10277.      along with it.  Both may be implemented in a future release.
  10278.  
  10279.    * The terminal emulation should work a tad faster now.
  10280.  
  10281.    * The program now requires diskfont.library to be installed in order
  10282.      to work correctly.
  10283.  
  10284.    * The program will ask for a confirmation prior to resetting the
  10285.      serial device driver while the program is still online.  Most
  10286.      seasoned JR-Comm had trouble to adjust to the fact that the
  10287.      JR-Comm command `send password' would use the same menu shortcut
  10288.      as the `term'?`release serial device' command.
  10289.  
  10290.    * The name of the call log file can now be configured completely.
  10291.      Previous releases would use the call file path and use the name
  10292.      `term-call.log'.
  10293.  
  10294.    * The status window now displays the name of the ARexx host port,
  10295.      the BBS name, phone number, comment and current user name.
  10296.  
  10297.    * In order to confuse and annoy you, the menu layout has been
  10298.      changed once again.
  10299.  
  10300.    * A new feature has been added:  the `wait' menu item will
  10301.      repeatedly send the sequence <Space><Backspace> in order to
  10302.      simulate terminal input.
  10303.  
  10304.    * The program now requires a bit more memory than before (program
  10305.      size has climbed by about 50 KBytes).
  10306.  
  10307.    * New command line options and tool types have been added, some have
  10308.      been renamed.
  10309.  
  10310.    * The program is now much smarter in determining the sizes of the
  10311.      phonebook and file transfer window.
  10312.  
  10313.    * The lists used by the phonebook and the date panel no longer look
  10314.      quite so weird if using a proportional-spaced font.
  10315.  
  10316.    * The main screen text snipping scheme has changed a bit and now
  10317.      resembles the standard console device snipping.  Also supported is
  10318.      double-clicking on single words in order to snip them.
  10319.  
  10320.    * The ARexx interface has been entirely rewritten from scratch.
  10321.